作者bobju (寶貝豬)
看板PHP
標題Re: [請益]請問如何判斷JPG檔被讀取,並輸出log檔
時間Sun Dec 6 10:03:31 2009
可以這麼用:
假設你的主要頁面是 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
推 lizard0619:我主要是想要如何分辨是a.jpg被讀到還是b.jpg被讀到 12/06 11:52
→ lizard0619:然後會個別輸出a.txt b.txt主要搞不懂的是,如何判別讀 12/06 11:54
→ lizard0619:到的是哪一個jpg然後可以各別輸出個別的txt 12/06 11:57
→ bobju:這有何問題?只要在write_log函式裏根據$name,分別寫到 12/06 13:13
→ bobju:$name.'.txt'就行了. 12/06 13:13
※ 編輯: bobju 來自: 58.115.151.184 (12/06 13:18)
→ bobju:我不太了解你說的'被讀到'是指什麼樣的情境? 是指在頁面上呈 12/06 13:20
→ bobju:現就算是'被讀到'? 還是指user要'點選'下去才算是'被讀到'? 12/06 13:20
→ lizard0619:砍站軟體的讀到,讀到那張圖,會redirection到別頁紀錄 12/06 15:12
→ bobju:那如果index.php的頁面上有a,b,c,d,e五張圖.要導向哪頁去? 12/06 17:11
※ 編輯: bobju 來自: 58.115.151.184 (12/06 17:14)
→ bobju:本文提的架構應該符合你要的才是.這根本不用導向.只要在秀圖 12/06 17:19
→ bobju:的同時把你要的資料記錄下來就行了.而這可利用<img src>裏 12/06 17:19
→ bobju:插php script的方法做到. 12/06 17:19
→ lizard0619:這樣圖可以顯示嗎?圖要擺哪裡? 12/06 22:37
→ bobju:圖檔就由 show_img.php 程式內部讀檔後輸出啦.我就是這樣用. 12/06 22:41
→ fillano:如果要事後分析,用httpd的log就可以,不太需要自己記錄 12/07 09:36