【发布时间】:2019-02-20 17:36:21
【问题描述】:
我想将我上传的所有文件都公开。
超级管理员每次创建新公司时都会创建一个可以在公众中找到的文件夹
$path = public_path().'/attachments/'.$company_id;
if (!File::exists($path)) {
File::makeDirectory($path, 777, true, true);
}
当我尝试上传公司徽标时,它给了我一个错误"Can't write image data to path (C:\wamp64\www\accubooksv2\public/attachments/10/C-CP//1550648014.jpg)"
控制器
$data['company_id'] = Auth::user()->company_id;
$image = $request->file('image');
$data['imagename'] = time().'.'.$image->getClientOriginalExtension();
$destinationPath = public_path().'/attachments/'.$data['company_id'].'/C-CP/';
// $path = public_path().'/attachments/'.$data['company_id'].'/C-CP/';
// File::makeDirectory(public_path()."uploads/properties");
// File::makeDirectory($path,0777,true);
$img = Image::make($image);
$img->resize(100, 100, function ($constraint) {
$constraint->aspectRatio();
})->save($destinationPath.'/'.$data['imagename']);
问题:这个错误的原因是什么,我该如何解决?
【问题讨论】:
-
Laravel 是否拥有该目录所需的权限?
-
每当我创建新公司时,我总是检查新创建的文件夹,允许修改、读取、写入、读取和执行(选中)
-
我更新了我的帖子,我在创建新公司后举了一些例子。