这个问题看起来可能很蠢。但是我在网页中打印图像和字符串时遇到了麻烦。
我的代码:
<?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');
行放在哪里
谢谢。
您不能多次使用header('content type')。如果你的目标是下载带有文本的图像,搜索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...
或者直接使用image url。我正在打电话,如果有错别字,我很抱歉,希望对你有所帮助。
理想情况下,您想要在这里做的是创建一个单独的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>';
?>
内容类型
只有一个你可以这样做:
<?php
echo '<img src="generated-image.php" />';
echo $jsongStr;