1

PHP を使用して画像のサイズを変更しようとしましたが、imagecreatefromjpeg 関数を機能させるのに問題があります。画像を表示しようとすると、画像ではなく、たくさんの文字が画面に表示されます。エラーも表示されません。

それで、最初はこの機能を使って画像のサイズを変更しようとしました。ランダムな文字がたくさん表示されたので、デバッグ用に単純化することにしました。

function chgSize($image, $width, $height){
    $name = $image["name"]; //this is displaying the file name correctly
    $temp = $image["tmp_name"];
    $imageContents = imagecreatefromjpeg($temp);
    $blankImage = imagecreatetruecolor(100,100);

    if(imagecopyresampled($blankImage, $imageContents, 0, 0, 0, 0, 100, 100, $width, $height)){ 
        header('Content-type: image/jpeg');
        imagejpeg($blankImage, $name); //name the image and output it

        //$this->saveImage($formattedImage); //save the image, commented out for testing purposes
    }
}

編集- 動作するようになりました。imagejpeg の 2 番目のパラメーターが、画像の名前だけでなく、パスであることに気付きませんでした。PHP の Web サイトでは、パラメーター 2 が各インスタンスの名前として表示されていたので、それだけだと思いました。

4

3 に答える 3

2

JPEG 画像データを送信していることをブラウザーに示すための content-type ヘッダーを出力していません。を追加

header('Content-type: image/jpeg');

imagejpeg() 呼び出しの直前。

于 2012-05-15T01:19:33.363 に答える