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>または<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 に答える