イメージのサイズを変更してブラウザに送信するコードがあります。PHPはイメージファイルを作成しますが、リモートサーバではなくローカルのdevでしか動作しません。
しかし、ブラウザの代わりにファイルに画像を出力するように頼んだ場合にのみ、正しく動作しません。
この問題はが実際のサーバーでのみ発生するため、私のコードは問題ではないと思います。;私のコンピュータでは完全に動作します。
コード:
$img = $_GET['img'];
ini_set('allow_url_fopen', 'on');
$info = getimagesize($img);
header('Content-type: '.image_type_to_mime_type($info[2]));
Fotos::redimensiona($img, null, Fotos::MINIGAL_WIDTH, Fotos::MINIGAL_HEIGHT, false);
写真集:: redimensiona():
//[...] a whole bunch of code calculating dimensions, they just works
// $funcImage is like 'imagejpeg'/'imagepng'/'imagegif', depends on file
if ($arquivo) {
$funcImage($thumb, "$final.$ext");
return "$final.$ext";
}
else {
$funcImage($thumb);
}
は覚えている:それはローカル開発にを動作しますが、リモートWebサーバー上にありません。
[EDIT]
Iはheader
ラインコメント場合、バイナリコードが印刷されています。このコードは、元のイメージを変更したときに変更されます。
しかし、header
の場合、Firefoxは私にページのURL(http://www.sabianoar.com.br/novosabia/inc/phpImg.php?img=awful_escaped_long_path.jpeg
のようなもの)を表示します。もし私がCTRL+I
をしたら、それは0x0のサイズのJPEGで、10kbのようです。
Operaは私が間違ってsrc
と<img>
置かれていたならば、それはすなわち、行うように、私に空の画像を示し
は[EDIT2] EyeOfGnomeは言う:とき、「未JPEGファイルは0xEFという0xbbから始まる」I保存し、出力を開きます(通常は.jpegファイルに保存されます)。
「正しく動作しません」とはどうなりますか?それは間違っていますか?出力はありませんか?壊れた画像? – NSSec
編集を見てください。 =]この情報を追加しました。 – igorsantos07