Php Laravel AWS多端口负载
有人能帮我重构代码以匹配第二个代码吗?问题是我更改了使用AWS S3multiportupLoad的方法,无法将文件放入bucket的子文件夹中。所有文件都在根级别上传,由于AWS多部分代码的结构,我无法为每个用户创建文件夹或创建文件夹 我尝试的是将“\subfolder”附加到“bucket”=>$\u ENV['AWS\u bucket'],但肯定不起作用Php Laravel AWS多端口负载,php,laravel,amazon-s3,Php,Laravel,Amazon S3,有人能帮我重构代码以匹配第二个代码吗?问题是我更改了使用AWS S3multiportupLoad的方法,无法将文件放入bucket的子文件夹中。所有文件都在根级别上传,由于AWS多部分代码的结构,我无法为每个用户创建文件夹或创建文件夹 我尝试的是将“\subfolder”附加到“bucket”=>$\u ENV['AWS\u bucket'],但肯定不起作用 if ($request->hasFile('files_doctor')) { $pat
if ($request->hasFile('files_doctor')) {
$patientFirstName = $request->patient_firstname;
$patientLastName = $request->patient_lastname;
// Users name adding
$caseDir = auth()->user()->drname;
$caseDir = str_replace(' ', '', $caseDir);
$path = public_path('storage/uploads/chromedoctorefiles/'. $caseDir);
foreach ($request->file('files_doctor') as $s3file) {
$directory = 'Case/'. $caseDir;
$contents = fopen($s3file, 'rb');
$s3patientFirstName = $request->patient_firstname;
$s3patientLastName = $request->patient_lastname;
$s3SavedOrigName = $s3file->getClientOriginalName();
$SendFileToS3 = $s3patientFirstName . '_' . $s3patientLastName . '_' . time() . $s3SavedOrigName;
// $disk = Storage::disk('s3');
$s3 = new S3Client([
'version' => 'latest',
'region' => 'us-west-1'
]);
$uploader = new MultipartUploader($s3, $contents, [
'bucket' => $_ENV['AWS_BUCKET'],
'key' => $SendFileToS3,
]);
try {
$result = $uploader->upload();
} catch (MultipartUploadException $e) {
return $e->getMessage();
}
}
我想同时模拟两者的代码
if ($request->hasFile('files_doctor')) {
$patientFirstName = $request->patient_firstname;
$patientLastName = $request->patient_lastname;
// Users name adding
$caseDir = auth()->user()->drname;
$caseDir = str_replace(' ', '', $caseDir);
$path = public_path('storage/uploads/chromedoctorefiles/'. $caseDir);
// Amazon checking folder
$directory = 'Case/'. $caseDir;
foreach ($request->file('fileslab') as $s3file) {
// Getting request names & extension
$s3patientFirstName = $request->patient_firstname;
$s3patientLastName = $request->patient_lastname;
$s3SavedOrigName = $s3file->getClientOriginalName();
$SendFileToS3 = $s3patientFirstName . '_' . $s3patientLastName . '_' . time() . $s3SavedOrigName;
$contents = file_get_contents($dbfile->getRealPath());
$path = Storage::disk('s3')->put($directory. '/' .$SendFileToS3, $contents);
if (!Storage::disk('s3')->exists($directory)){
Storage::disk('s3')->makeDirectory($directory);
$path = Storage::disk('s3')->put( $directory. '/' . $SendFileToS3, $contents );
}else{
$path = Storage::disk('s3')->put( $directory. '/' .$SendFileToS3, $contents);
}
}