Php 图像上载和调整大小功能不能正常工作
在我的laravel项目中,我有一个简单的调整图像大小的功能。它应该上传原始图像并制作缩略图 表单提交后,我得到了两张图片,但原始图片被放在了错误的目录中。这是我的控制器中的函数Php 图像上载和调整大小功能不能正常工作,php,image,laravel,Php,Image,Laravel,在我的laravel项目中,我有一个简单的调整图像大小的功能。它应该上传原始图像并制作缩略图 表单提交后,我得到了两张图片,但原始图片被放在了错误的目录中。这是我的控制器中的函数 if (Input::hasFile('image') && !Input::get('remove_image')) { $file = Input::file('image'); $filename = str_random(20); $i
if (Input::hasFile('image') && !Input::get('remove_image')) {
$file = Input::file('image');
$filename = str_random(20);
$image = new ImageResize($file);
$original = $filename . '.'. $file->getClientOriginalExtension();
$thumb = $filename . '-thumb.' . $file->getClientOriginalExtension();
$file->move(public_path() . '/uploads', $original);
$imagePath = '/uploads/' . $original;
$thumbPath = '/uploads/' . $thumb;
$image->crop(200, 200);
$image->save('uploads/' . $thumb);
}
基本上,当我上传image.jpg
时,我会得到两张图像image.jpg
和image thumb.jpg
。两幅图像都应保存在上传
中,即公共/上传
中,但仅保存缩略图
原始映像保存在
**引导**/uploads/
中。为什么要进入引导…目录?我在任何地方都没有提到它?您可以尝试将public\u path()
方法替换为url('/')
。我不确定这是否有帮助,但我对公共路径(public_path())没有很好的经验
请尝试以下代码。只保留要保存原始文件的目录。尝试更改移动图像的这条线
$file->move(public_path() . '/uploads', $original);
Image::make($avatar)->resize(250, 250)->save(public_folder('/uploads/'.$filename));
使用此选项(删除公共路径)
使用图像干预调整图像大小并保存图像
$file->move(public_path() . '/uploads', $original);
Image::make($avatar)->resize(250, 250)->save(public_folder('/uploads/'.$filename));
resize(调整大小)功能将调整图像大小,save(保存)功能将图像保存到uploads文件夹。给$filename变量指定一个所需的文件名。是否也要保存
$original
?此行$file->move(public_path()./uploads',$original)
保存原始文件,但保存方向错误尝试打印(public_path())
检查其路径是否正确。$file->move(public_path()。/uploads',$original)代码>正在保存原始文件。我假设您已经检查过,以确保public\u path()
指向您需要的目录。publick\u path()指向/var/www/html/site/bootstrap1
,但它是错误的。。应该是/var/www/html/site/
,我不知道怎么做。我以前没有在laravel中处理路径..替换“$file->move(public_path()./uploads',$original);”通过“$file->move(url('/')。/uploads',$original)`这是一个完整的url,比如http://localhost/site/public/index.php/uploads
。。。这是不对的