Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP调整图像大小,转换为jpg,并在浏览器中显示_Php_Forms_Upload_Image Resizing_Image Conversion - Fatal编程技术网

PHP调整图像大小,转换为jpg,并在浏览器中显示

PHP调整图像大小,转换为jpg,并在浏览器中显示,php,forms,upload,image-resizing,image-conversion,Php,Forms,Upload,Image Resizing,Image Conversion,我有一个上传文件的表格: <form method="POST" action="upload-image.php"> <input type="file" name="file"><br> <input type="submit" value="Submit"> </form> 和一个PHP代码,用于调整上传文件(图像)的大小,将其转换为JPG,并在浏览器中显示 <?php function image_

我有一个上传文件的表格:

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


和一个PHP代码,用于调整上传文件(图像)的大小,将其转换为JPG,并在浏览器中显示

<?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);
?>

它不起作用。它显示一个空白图像。我的错误是什么

注:代码改编自以下接受为答案的帖子:


因为您使用了
imagejpeg($new\u image,$dest\u file)缩放后的图像将写入ok.jpg。不要使用第二个参数直接输出到浏览器

header("Content-Type: image/jpeg");
imagejpeg($new_image);
imagedestroy($new_image);
exit;