Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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大小调整代码仅格式化某些图像,而不是其他图像_Php_Image - Fatal编程技术网

此php大小调整代码仅格式化某些图像,而不是其他图像

此php大小调整代码仅格式化某些图像,而不是其他图像,php,image,Php,Image,这段代码将所有jpeg图像调整到我想要的大小,但我有一些图像跳过了调整大小,只是上传到原始大小。在调整大小功能中是否有我遗漏或忽略的内容?(照片详细信息将与代码一起提供) 我尝试了多个图像,除了三个测试图像(细节如下)之外,它们都可以工作 结果: 这是跳过调整大小并以相同大小进入文件夹的图像,没有任何更改: Myron_3.jpg-种类:JPEG,大小334kb,尺寸:2304 X 3456 这两个项目将产生预期的结果: IMG_0610.JPG-大小:2MB,尺寸:3024x4032。调

这段代码将所有jpeg图像调整到我想要的大小,但我有一些图像跳过了调整大小,只是上传到原始大小。在调整大小功能中是否有我遗漏或忽略的内容?(照片详细信息将与代码一起提供)

我尝试了多个图像,除了三个测试图像(细节如下)之外,它们都可以工作



结果: 这是跳过调整大小并以相同大小进入文件夹的图像,没有任何更改: Myron_3.jpg-种类:JPEG,大小334kb,尺寸:2304 X 3456

这两个项目将产生预期的结果: IMG_0610.JPG-大小:2MB,尺寸:3024x4032。调整大小后: 大小46kb


test_4.jpg-大小:56 kb,尺寸:959 X 957,调整大小后:46kb

打字错误<代码>$new\u width=$orignial\u width*比率您可以通过将JPEG密度设置为~80而不是~90来节省磁盘空间,因为人眼仍然无法分辨。请尝试在
if($original_image)
之后添加一个else,如果未调整大小的文件进入其中,请尝试错误日志记录。键入<代码>$new\u width=$orignial\u width*比率您可以通过将JPEG密度设置为~80而不是~90来节省磁盘空间,因为人眼仍然无法分辨。请尝试在
if($original_image)
之后添加一个else,如果未调整大小的文件进入其中,请尝试错误日志记录。
<?php
function resize_image($file, $max_resolution){

    if(file_exists($file)){
        $original_image = imagecreatefromjpeg($file);

        //resolution
        $original_width = imagesx($original_image);
        $original_height = imagesy($original_image);

        //try width first
        $ratio = $max_resolution / $original_width;
        $new_width = $max_resolution;
        $new_height = $original_height * $ratio;

        if($new_height > $max_resolution) {
            $ratio = $max_resolution / $original_height;
            $new_height = $max_resolution;
            $new_width = $orignial_width * ratio;
        }
            if($original_image){
 $new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image,$original_image,0,0,0,0,$new_width,$new_height,$original_width,$original_height); 
        imagejpeg($new_image, $file, 90);


        }

    }

}
    if(isset($_FILES['image']) && $_FILES['image']['type'] == 'image/jpeg'){

        move_uploaded_file($_FILES['image']['tmp_name'],$_FILES['image']['name']);
        $file = $_FILES['image']['name'];
        resize_image($file, "500"); 

        echo "<img src='$file'/>";
    }
?>

<form method="post" enctype='multipart/form-data'>
<input type="file" name="image"><br/>
<input type="submit" value="post">
</form>