大家好日子!
这就是事情; 一个.htaccess文件,mod重写,将imagename.png(非现有文件)重定向到tracker.php(真实文件)。因此,当用户正在查看site.com/hello.png时,用户正在查看/hello.php,它会收集信息并将其存储。
tracker.php
<?php
$date = date('d-m-Y');
$time = date('H:i:s');
$ip = $_SERVER['REMOTE_ADDR'];
$ref = @$_SERVER["HTTP_REFERER"];
header('Content-type: image/png');
echo gzinflate(base64_decode('6wzwc+flkuJiYGDg9fRwCQLSjCDMwQQkJ5QH3wNSbCVBfsEMYJC3jH0ikOLxdHEMqZiTnJCQAOSxMDB+E7cIBcl7uvq5rHNKaAIA'));
$myFile = "tr.txt";
$fh = fopen($myFile, 'a');
fwrite($fh, $myFile = $time ." | ". $date . " | " .$ip. " | " .$ref. " | \r\n\r\n");
fclose($fh);
?>
我在我的网站上使用它来跟踪访问者。一切正常,我可以收集有关ip,webbrowser,ref-link等的信息。
但我的问题是,这样做有什么限制?我已经进行了很长时间的实验,看起来我只能使用普通的php(而不是 echo“其他语言”)。 我无法重定向或回显文本。循环,if / else,变量等工作正常。 如果我尝试重定向,我可以看到该网页正在尝试连接到例如谷歌,但只是一秒钟,所以没有实际的重定向。
TL;博士 使用php文件作为图像时代码有什么限制?
答案 0 :(得分:0)
我认为没有任何限制。 您的PHP代码已执行并运行。
您显示的内容不限制php。
你在那里提到了重定向。你是在一个html页面加载一个图像(由php生成或不生成,无关紧要)。 html页面从服务器收到它的标题,你的php生成的图像也收到了它的标题(内容类型图像)。这是重定向的位置。 您的html页面没有理由使用图片上的php标头功能进行重定向。
如果您直接在浏览器中加载php生成的图像,我认为您将能够重定向用户(直接,不显示图像),但作为html页面中的图像,不可能影响页面的其余部分,除非您使用javascript。