一个PHP图像我想用:中如何产生SRC
src="my_generated_image_from_php.jpg"
代替
src="my_php_image.php"
我该怎么办呢?
my_php_image.php像:
<?php
......
Header('Content-type: image/png');
imagepng($im2);
imagedestroy($im2);
......
?>
一个PHP图像我想用:中如何产生SRC
src="my_generated_image_from_php.jpg"
代替
src="my_php_image.php"
我该怎么办呢?
my_php_image.php像:
<?php
......
Header('Content-type: image/png');
imagepng($im2);
imagedestroy($im2);
......
?>
你需要与二进制图像一起发送图像头在你的my_php_image.php文件像这样:
header("Content-Type: image/jpeg");
echo file_get_contents("my_generated_image_from_php.jpeg");
显然,你”我们需要确保图像的相对路径正确才能正常工作。否则,只需使用根目录中的绝对路径。
如果你这样做,你将能够使用第二个选项作为图像源。
以下是Drupal如何做到这一点。您的网址的图像看起来像index.php?q=some/path/to/the/image.jpg
,但如果你的Web服务器树立正确的这些简单的规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule^index.php [L]
现在PHP可以提取与
$request_path = strtok($_SERVER['REQUEST_URI'], '?')
$base_path_len = strlen(rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/'));
// Unescape and strip $base_path prefix, leaving q without a leading slash.
$path = substr(urldecode($request_path), $base_path_len + 1);
请求路径你只需要正确的HTTP头,然后离开你。
如果我正确理解你,你将需要将你生成的php图像保存为一个实际的图像文件。我就开始阅读这里:
你可能会想URL重写(mod_rewrite
),这是用来服务于不同的URL的东西。
my_generated_image_from_php.jpeg
(隐藏名为“php”的文件的实际扩展名)可能会得到与my_php_image.php?image=my_generated_image_from_php.jpeg
相同的内容。
当涉及到MIME类型和脚本响应的头部时,如果您可以包含它,这将是一件好事,但这不是实现您所期望的。
把它们放在同一个目录下? – Ben 2011-05-17 02:30:26
你的意思是如何让一个php文件显示为.jpg?你将不得不使用mod_rewrite – tlunter 2011-05-17 02:35:28