Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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_Mysql_Symfony_Laravel_Laravel 4 - Fatal编程技术网

在PHP中上载和保存多个图像

在PHP中上载和保存多个图像,php,mysql,symfony,laravel,laravel-4,Php,Mysql,Symfony,Laravel,Laravel 4,我正在尝试上传多张图片,并将它们保存为不同大小的Laravel4 问题是,当我试图制作每个图像的完整分辨率和缩略图大小的副本时,它只调整大小并保存第一个图像 我正在使用干预php图像类来处理大小调整等 我的代码: HTML表单 Laravel代码 $photos = Input::file('photo'); $photoTypes = array( 'full_res' => [612, 75], 'thumbnail' => [150, 60] ); fo

我正在尝试上传多张图片,并将它们保存为不同大小的Laravel4

问题是,当我试图制作每个图像的完整分辨率和缩略图大小的副本时,它只调整大小并保存第一个图像

我正在使用
干预
php图像类来处理大小调整等

我的代码: HTML表单

Laravel代码

$photos = Input::file('photo');

$photoTypes = array(
  'full_res' => [612, 75],
   'thumbnail' => [150, 60]
);

    foreach ($photos as $photo) {
        $originalPhoto = $photo;

        foreach ($photoTypes as $type => $size) {
            print "Photo upload loop";
            $photo = $originalPhoto->getRealPath();
            $path = 'img/'. sha1(microtime()) . '.jpg';
            $photo = Image::make($photo);
            $photo->resize($size[0], $size[0], false);
            $photo->encode('jpg', $size[1]);
            $photo->save($path);

            $photoDB = new Photo();
            $photoDB->user_id = $user_id;
            $photoDB->item_id = $item->id;
            $photoDB->type = $type;
            $photoDB->url = $path;
            $photoDB->save();
        }
    }

一个问题是您正在覆盖Foreach$photoTypes中的$photo变量。尝试重命名该变量。尽量避免在循环中重复使用变量名,因为这可能会导致问题。我不确定这会解决你的问题,但它可能会阻止进一步的问题发展