Re: [請益]請問如何判斷JPG檔被讀取,並輸出log檔

看板PHP作者 (寶貝豬)時間16年前 (2009/12/06 10:03), 編輯推噓1(1014)
留言15則, 3人參與, 最新討論串2/2 (看更多)
可以這麼用: 假設你的主要頁面是 index.html , 內容如下所示: <html> <head> ... </head> <body> <img src='show_img.php?name=a.jpg'> <img src='show_img.php?name=b.jpg'> </body> </html> 至於 show_img.php 的內容: <?php //0 變數解析, 解析過程: 略, 直接指定: $name = $_REQUEST['name']; //1 動作記錄: 圖檔名, 遠端網址, 讀取日期: write_log 函式細節: 略. write_log($name, $_SERVER['REMOTE_ADDR'] , date('Y-m-d H:i:s')); //2 秀圖: $stream=file_get_contents($name); echo $stream; //補充: function write_log($name, $addr, $date){ file_put_contents($name.'.txt', sprintf("%s,%s,%s",$name,$addr,$date), FILE_APPEND | LOCK_EX ); } ?> 程式架構是這樣, 細節再依照實際需要去修就行了. 其實這也可以透過web server的log來做. 只要寫支script去 分析web server的log就行了. 甚至也不用寫, 網路上可以抓到分析 web server log的軟體, 若仍有不足之處, 再寫script處理。 ※ 引述《lizard0619 (lizard)》之銘言: : 我想要一個網頁, : 當讀到像a.jpg和b.jpg : 他會判斷是否讀到a.jpg : ,如果有讀到a.jpg,就會記錄此IP和時間 : ,然後輸出一個a.txt的LOG檔 : 我先前的方法是: : 如果有讀到a.jpg就會redirection到 a.php檔 : 如果有讀到b.jpg就會redirection到 b.php檔 : a.php內容是<a href="Link/class.php?a=1"></a> : b.php內容是<a href="Link/class.php?a=2"></a> : 然後就會傳值給class.php做分辨 : a的值是1就輸出讀取到a.jpg的IP和時間給a.txt : a的值是2就輸出讀取到a.jpg的IP和時間給b.txt : 如果我改成讀到a.jpg or b.jpg就會直接redirection 到class.php做分辨 : 我要如何分辨是否有人讀到a.jpg OR b.jpg或者兩種都有 : ,然後分別輸出a.txt or b.txt的LOG檔 : ,請問要怎麼寫才好? : $uri="/img/a.jpg"; : //$uri = $_SERVER["REQUEST_URI"]; : if(這格要寫甚麼來辨別a.jpg有redirection到class.php ){ : $f1 = fopen("c:\\logfile\\common_log\\a.txt","a+"); : fwrite($f1,$ap); : fwrite($f1,$url); : fwrite($f1,"$time"); : fclose($f1); : ,請問要怎麼寫才好? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.151.184

12/06 11:52, , 1F
我主要是想要如何分辨是a.jpg被讀到還是b.jpg被讀到
12/06 11:52, 1F

12/06 11:54, , 2F
然後會個別輸出a.txt b.txt主要搞不懂的是,如何判別讀
12/06 11:54, 2F

12/06 11:57, , 3F
到的是哪一個jpg然後可以各別輸出個別的txt
12/06 11:57, 3F

12/06 13:13, , 4F
這有何問題?只要在write_log函式裏根據$name,分別寫到
12/06 13:13, 4F

12/06 13:13, , 5F
$name.'.txt'就行了.
12/06 13:13, 5F
※ 編輯: bobju 來自: 58.115.151.184 (12/06 13:18)

12/06 13:20, , 6F
我不太了解你說的'被讀到'是指什麼樣的情境? 是指在頁面上呈
12/06 13:20, 6F

12/06 13:20, , 7F
現就算是'被讀到'? 還是指user要'點選'下去才算是'被讀到'?
12/06 13:20, 7F

12/06 15:12, , 8F
砍站軟體的讀到,讀到那張圖,會redirection到別頁紀錄
12/06 15:12, 8F

12/06 17:11, , 9F
那如果index.php的頁面上有a,b,c,d,e五張圖.要導向哪頁去?
12/06 17:11, 9F
※ 編輯: bobju 來自: 58.115.151.184 (12/06 17:14)

12/06 17:19, , 10F
本文提的架構應該符合你要的才是.這根本不用導向.只要在秀圖
12/06 17:19, 10F

12/06 17:19, , 11F
的同時把你要的資料記錄下來就行了.而這可利用<img src>裏
12/06 17:19, 11F

12/06 17:19, , 12F
插php script的方法做到.
12/06 17:19, 12F

12/06 22:37, , 13F
這樣圖可以顯示嗎?圖要擺哪裡?
12/06 22:37, 13F

12/06 22:41, , 14F
圖檔就由 show_img.php 程式內部讀檔後輸出啦.我就是這樣用.
12/06 22:41, 14F

12/07 09:36, , 15F
如果要事後分析,用httpd的log就可以,不太需要自己記錄
12/07 09:36, 15F
文章代碼(AID): #1B6n3rNK (PHP)
文章代碼(AID): #1B6n3rNK (PHP)