0

我正在尝试使用 header('Content-type: image/jpeg') 来编辑和显示 jpeg 照片,如下所示。

header('Content-type: image/jpeg') 
$filename = 'aaa.jpg';
 $im = imagecreatefromjpeg($filename); 
imagefilter($im, IMG_FILTER_CONTRAST,50);
imagejpeg($im);
imagedestroy($im); 

在同一个文件中,我还有其他简单的代码,例如 $abc = $_POST['abc']。在我放置标题之后,标题之前的代码和 image destroy($im) 之后的代码不再起作用。当我在标题前放置任何代码(例如 $_post['abc'] )时,标题和代码都不起作用。在我包含标题和代码来操作和输出图像之前,所有代码都很好。这是我第一次使用 header('Content-type: image/jpeg') 并且尝试了这么久后我找不到答案。请帮忙。谢谢你。

4

1 回答 1

0

如果要输出 html 页面,请不要发送图像标题。但是,首先将转换后的图像输出到服务器上的文件,然后在 html 页面中添加<img>or <a>nchor 标记:

<html><body>
<?php
$output_dir = 'images';
if (!file_exists($output_dir)) {
    mkdir($output_dir, 0777);
}
$filename = 'aaa.jpg';
$filename2 = 'aaa2.jpg';
if (!file_exists($filename)) {
    echo 'Input image not exists!'; exit;
}
$im = imagecreatefromjpeg($filename);
imagefilter($im, IMG_FILTER_CONTRAST, 50);
imagejpeg($im, $output_dir.'/'.$filename2);
imagedestroy($im);

echo 'Original image:<br/><img src="'.$filename.'" /><br/>';
echo 'Transformed image:<br/><img src="'.$output_dir.'/'.$filename2.'" />';
?>
</body></html>

该图像标头发送以防万一,您想将其作为独立图像输出。有关更多示例,请查看php.net

于 2012-07-22T17:11:20.713 回答