这可能看起来很愚蠢。但是我在网页上打印图像和字符串时遇到了麻烦。
我的代码:
<?php
$file = 'uploadedimages/' . end(end($collectedResult));
// $file='demo.gif';
if(file_exists($file)){
header('Content-Type:image/jpeg');
header('Content-Transfer-Encoding: base64');
// $data=base64_encode(file_get_contents($file));
// echo $data;
$im = imagecreatefromjpeg($file);
imagejpeg($im);
imagedestroy($im);
}
else
echo 'No such file';
header('Content-Type: text/html; charset=utf-8');
echo '<br><p>' . json_encode($collectedResult, JSON_UNESCAPED_UNICODE) . '</p>';
?>
这些代码图像显示在浏览器中。没关系。但有些json strings
没有显示。
我不知道应该在哪里放置header('Content-Type: text/html; charset=utf-8');
和/或header('Content-Type:image/jpeg');
行。
感谢。
答案 0 :(得分:1)
您不能多次使用标题(&#39;内容类型&#39;)。如果您的目标是下载带有文本的图像,则搜索PHP图像框架,如果您只想使用<img src='<?PHP echo $imageurlordata?>'>
打印图像和文本渲染,然后使用文本,您也可以像这样做
$data = base64_encode(file_get_contents($file));
// echo '<img src="image/base64:'.$data.'">'; // incorrect syntax
echo '<img src="data:image/jpeg;base64,'.$data.'">'; // you can change jpeg as png, gif or smth else...
或只使用图片网址。 我打电话对不起,如果有任何拼写错误,希望能帮助你。
答案 1 :(得分:1)
理想情况下,您要在此处创建一个带有图像代码的独立php文件,然后将其包含在html中的标准图像标记内。例如,像这样......(未经测试)
image.php
---------
<?php
$file = 'uploadedimages/' . end(end($collectedResult));
if( !file_exists( $file ) ) $file='/path/to/demo.gif';
if(file_exists($file)){
header('Content-Type:image/jpeg');
header('Content-Transfer-Encoding: base64');
// $data=base64_encode(file_get_contents($file));
// echo $data;
$im = imagecreatefromjpeg($file);
imagejpeg($im);
imagedestroy($im);
}
?>
then in your html page
----------------------
<img src='image.php' alt='php generated image' />
<?php
echo '<br><p>' . json_encode($collectedResult, JSON_UNESCAPED_UNICODE) . '</p>';
?>
答案 2 :(得分:0)
内容类型只有一个
你可以这样做:
<?php
echo '<img src="generated-image.php" />';
echo $jsongStr;