0

ファイルをアップロードするフォームがあります:

<form method="POST" action="upload-image.php">
    <input type="file" name="file"><br>
    <input type="submit" value="Submit">
</form>

そして、アップロードされたファイル (画像) のサイズを変更し、JPG に変換して、ブラウザーに表示するための PHP コード。

<?php
function image_to_jpg($src_file){
    $file = $_FILES["file"]["name"];
    $ext = end(explode(".",$file));
    list($width_orig,$height_orig) = getimagesize($src_file);
    $width  = 128;
    $height = 128;
    ini_set("memory_limit","32M");
    if($ext == "jpg" || $ext == "jpeg"){
        $image = imagecreatefromjpeg($file);
    }
    if($ext == "gif"){
            $image = imagecreatefromgif($file); 
    }
    if($ext == "png"){
        $image = imagecreatefrompng($file);
    }
    $new_image = imagecreatetruecolor($width,$height);
    imagecopyresampled($new_image,$image,0,0,0,0,$width,$height,$width_orig,height_orig);
    $dest_file = "ok.jpg";
    header("Content-Type: image/jpeg");
    imagejpeg($new_image,$dest_file);
}
$src_file = $_FILES["file"]["tmp_name"];
image_to_jpg($src_file);
?>

機能していません。空白の画像が表示されます。私のエラーは何ですか?

注:次の場所で回答として受け入れられた投稿から適応されたコード:

GD を使用して、アップロードした画像のサイズを変更して PNG に変換するにはどうすればよいですか

4

1 に答える 1

0

スケーリングされた画像を使用imagejpeg($new_image,$dest_file);すると、ok.jpg に書き込まれます。2 番目のパラメーターを使用してブラウザーに直接出力しないでください。

header("Content-Type: image/jpeg");
imagejpeg($new_image);
imagedestroy($new_image);
exit; 
于 2013-04-10T13:46:22.127 に答える