好吧,目前我正在使用GD
来创建一个PNG图像,根据GET数据记录一些不同的东西,例如:http://example.com/file.php?do=this
会记录一件事{{1}将记录另一件事。
但是,我想在没有GET数据的情况下执行此操作,因此http://example.com/file.php?do=that
会记录一件事,http://example.com/dothis.php
会记录另一件事。
但除此之外,我还希望通过JPG文件扩展名访问它。我已经看到了这个,但我无法弄清楚如何。因此,http://example.com/dothat.php
将记录一件事,而http://example.com/dothis.JPG
记录另一件事。
当然,日志记录部分很简单。我很简单需要知道如何使用文件名代替GET数据以及如何设置php文件以便通过jpg文件扩展名访问。
答案 0 :(得分:1)
文件名可以通过$ _SERVER数组访问(我希望你可以探索这个数组并找到合适的变量)
虽然扩展技巧是web-server责任
对于Apache模块API,它可以是
RemoveHandler .jpg
AddType application/x-httpd-php .jpg
答案 1 :(得分:0)
如果您不想拥有重复的脚本/链接,并且Web服务器是apache,那么您需要它的mod_rewrite,例如
RewriteEngine On
RewriteRule ^doth/(.*) index.php?page=$1 [L]
下进行。
答案 2 :(得分:0)
如果要使用扩展名.jpg将PHP嵌入到文件中,则需要指示Web服务器将.jpg文件解析为PHP。如果您使用Apache,一种方法是将以下内容添加到文件所在目录中的.htaccess文件中:
addtype application/x-httpd-php .jpg .php
或者您可以将其添加到您的服务器配置中。请参阅this page for details on htaccess for Apache。
接下来,编写脚本,以便记录相应的数据。在您的示例中,您似乎不再需要GET数据,并且脚本将仅根据调用的事实记录不同的数据。即dothis.jpg“知道”记录this
数据,而dothat.jpg记录that
数据。
dothis.jpg:
<?php
header("Content-type: image/jpeg");
// log "this" code
$img = imagecreate($x, $y); // example
// GD image generation code
imagejpg($img);
?>
dothat.jpg:
<?php
header("Content-type: image/jpeg");
// log "that" code
$img = imagecreate($x, $y); // example
// GD image generation code
imagejpg($img);
?>