一个php文件作为img src

时间:2011-04-12 04:01:57

标签: php image-processing

我想使用img标签打印图像,其中src是一个php文件,该脚本还将在服务器scirpt处理一些操作。任何人都有示例代码?

这是我的测试代码,但没有效果

img.html

<img src="visitImg.php" />

visitImg.php

<?

header('Content-Type: image/jpeg');

echo "<img src=\"btn_search_eng.jpg\" />";

?>

6 个答案:

答案 0 :(得分:11)

使用readfile

<?php
header('Content-Type: image/jpeg');
readfile('btn_search_eng.jpg');
?>

答案 1 :(得分:6)

直接来自php fpassthru docs

<?php

// open the file in a binary mode
$name = './img/ok.png';
$fp = fopen($name, 'rb');

// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// dump the picture and stop the script
fpassthru($fp);
exit;
?>

作为解释,您需要将图像数据作为脚本的输出传递, html数据。您可以使用其他功能,例如fopenreadfileetc etc etc

答案 2 :(得分:5)

"<img src=\"btn_search_eng.jpg\" />"不是有效的图片数据。您必须实际阅读btn_search_eng.jpg内容并回显他们

请参阅此处查看various ways to pass-through files in PHP

答案 3 :(得分:5)

<强>更新

如果不使用include,您可以执行以下操作,如下所述:

试试这个:

<? 
$img="example.gif"; 
header ('content-type: image/gif'); 
readfile($img); 
?> 

以上代码来自 this 网站

原始答案
不要试试这个:

<?

header('Content-Type: image/jpeg');

include 'btn_search_eng.jpg';   // SECURITY issue for uploaded files!

?>

答案 4 :(得分:1)

如果您要在脚本顶部使用header('Content-Type: image/jpeg');,那么您的脚本输出最好是JPEG图像!在当前示例中,您指定了图像内容类型,然后提供HTML输出。

答案 5 :(得分:1)

您回忆的是HTML,而不是生成JPEG图像所需的二进制数据。为此,您需要使用PHP的图像处理函数读取外部文件或生成文件。