Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Image_Resize - Fatal编程技术网

Php 使用高度和宽度数组调整图像大小

Php 使用高度和宽度数组调整图像大小,php,arrays,image,resize,Php,Arrays,Image,Resize,我有一个由$h和$w组成的数组。它只会创建移动上传的文件$文件['image']['tmp\u name'],$文件['image']['name'];如何使用大小数组创建新图像 for ($resize=1; $resize <= $units; $resize++) { $new = $album_name."_".$image_name."_".$resize.".".$image_ext; $targetImage = imagec

我有一个由$h和$w组成的数组。它只会创建移动上传的文件$文件['image']['tmp\u name'],$文件['image']['name'];如何使用大小数组创建新图像

for ($resize=1; $resize <= $units; $resize++) 
     {  
        $new =  $album_name."_".$image_name."_".$resize.".".$image_ext;
        $targetImage = imagecreatetruecolor($w, $h);
        $image = imagecreatefromstring(file_get_contents($target));         
        imagecopyresampled($targetImage,$image, 0, 0, 0, 0, $w, $h, $originalWidth, $originalHeight);
        imagejpeg($targetImage,'uploads/'.$albumName.'/'.$new,80);
     }
在代码段中,$w和$h似乎不是数组

假设$w和$h是大小为$resize的数组,具有不同的图像大小

下面的代码还使用getimagesize函数检测图像MIME类型,并调整JPG、PNG和GIF格式图像的大小

for ($resize=1; $resize <= $units; $resize++) 
{
    $size = getimagesize($target);

    if ($size === false)
        return false;

    $format = strtolower(substr($size['mime'], strpos($size['mime'], '/') + 1));
    $icfunc = "imagecreatefrom" . $format;
    if (!function_exists($icfunc))
        return false;

    $new =  $album_name."_".$image_name."_".$resize.".".$image_ext;

    $targetImage = imagecreatetruecolor($w[$resize], $h[$resize]);
    $image = $icfunc($target);
    imagecopyresampled($targetImage,$image, 0, 0, 0, 0, $w[$resize], $h[$resize], $originalWidth, $originalHeight);

    switch ($size['mime']) {
        case 'image/jpg':
        case 'image/jpeg':
        case 'image/pjpeg':
            return imagejpeg($dst_r, 'uploads/'.$albumName.'/'.$new, 80);
            break;
        case 'image/png';
            return imagepng($dst_r, 'uploads/'.$albumName.'/'.$new, 2);
            break;
        case 'image/gif';
            return imagegif($dst_r, 'uploads/'.$albumName.'/'.$new);
            break;
        default:
            return;
    }
}

我有意见。哪个是$w=$\u POST[width]和$w=$\u POST[height]@JethroAbarquez那么$resize是什么呢?我使用$resize循环array@JethroAbarquez你说在post中有一个数组$h和$w,然后你说$w=$\u post[width]和$h=$\u post[height],所以我不太明白你的意思