在PHP中上载和保存多个图像
我正在尝试上传多张图片,并将它们保存为不同大小的Laravel4 问题是,当我试图制作每个图像的完整分辨率和缩略图大小的副本时,它只调整大小并保存第一个图像 我正在使用在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
干预
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变量。尝试重命名该变量。尽量避免在循环中重复使用变量名,因为这可能会导致问题。我不确定这会解决你的问题,但它可能会阻止进一步的问题发展