gpt4 book ai didi

image - Laravel 4上传1张图片并另存为多张图片(3)

转载 作者:行者123 更新时间:2023-12-04 13:27:18 25 4
gpt4 key购买 nike

我正在尝试使用laravel 4(使用资源 Controller )制作图像上传脚本,并且正在使用Intervention Image软件包。

我想要的是:上传图像时将其另存为3个不同的图像(不同大小)。

例如:

1-foo-original.jpg

1-foo-thumbnail.jpg

1-foo-resized.jpg

这是我到目前为止所得到的..它没有任何作用,但这是我所能得到的。

if(Input::hasFile('image')) {
$file = Input::file('image');
$fileName = $file->getClientOriginalName();
$fileExtension = $file->getClientOriginalExtension();
$type = ????;

$newFileName = '1' . '-' . $fileName . '-' . $type . $fileExtension;

$img = Image::make('public/assets/'.$newFileName)->resize(300, null, true);
$img->save();
}

希望有人可以帮助我,谢谢!

最佳答案

您可以尝试以下方法:

$types = array('-original.', '-thumbnail.', '-resized.');
// Width and height for thumb and resized
$sizes = array( array('60', '60'), array('200', '200') );
$targetPath = 'images/';

$file = Input::file('file')[0];
$fname = $file->getClientOriginalName();
$ext = $file->getClientOriginalExtension();
$nameWithOutExt = str_replace('.' . $ext, '', $fname);

$original = $nameWithOutExt . array_shift($types) . $ext;
$file->move($targetPath, $original); // Move the original one first

foreach ($types as $key => $type) {
// Copy and move (thumb, resized)
$newName = $nameWithOutExt . $type . $ext;
File::copy($targetPath . $original, $targetPath . $newName);
Image::make($targetPath . $newName)
->resize($sizes[$key][0], $sizes[$key][1])
->save($targetPath . $newName);
}

关于image - Laravel 4上传1张图片并另存为多张图片(3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com