Php Laravel S3文件上载:fopen(文件路径)无法打开流:权限被拒绝
我正在将文件上载到S3: 在文件系统中,我有:Php Laravel S3文件上载:fopen(文件路径)无法打开流:权限被拒绝,php,laravel,amazon-s3,laravel-5.2,Php,Laravel,Amazon S3,Laravel 5.2,我正在将文件上载到S3: 在文件系统中,我有: 'default' => 's3', 'cloud' => 's3', 's3' => [ 'driver' => 's3', 'key' => '***********', 'secret' => '********************', 'region' => '************',
'default' => 's3',
'cloud' => 's3',
's3' => [
'driver' => 's3',
'key' => '***********',
'secret' => '********************',
'region' => '************',
'bucket' => '*************',
],
],
'parent_url' => 'http://54.169.67.54/',
];
一切似乎都很好,但上传文件时出现了错误
fopen(/var/www/html/project/public/photos/profile pics/1-medium-1470892864.jpg):无法打开流:权限被拒绝
请使用并检查以获取进一步参考
例如:
public function uploadFile( $getFile )
{
try{
$datetimefilename = Carbon::now()->format('YmdHis');
$ext = $getFile->getClientOriginalExtension();
$filename = sprintf('%s.%s', $datetimefilename,$ext);
$uploadPath = env('UPLOAD');
if( Storage::disk('s3')->has($uploadPath) === false ){
Storage::disk('s3')->createDir($uploadPath);
}
$filePath = sprintf('%s/%s',$uploadPath,$filename);
$result = Storage::disk('s3')->put($filePath, file_get_contents($getFile->getRealPath()));
return $result ;
}
catch(\Exception $e)
{
return false;
}
}
您需要更改bucket策略。检查此链接:-这是bucket权限问题吗?哦!!似乎您正在从本地系统获取文件。确保您有足够的权限访问它。如果您将面临s3 bucket权限问题,请参阅上面的链接。该错误向我表明,您尝试上载的文件的路径不存在,或者您对文件/父文件夹没有本地文件权限。