我不知道为什么我无法使用以下代码删除 Laravel 中的文件:
$path = storage_path('app/identification_cards') . '/' . $filename;
Storage::delete($path)
该命令执行时没有错误,并返回 true。
我检查
了什么: - 路径是正确的。如果我在 bash 终端中使用相同的确切路径(使用“rm”命令),则文件将被删除;
- 该文件确实有 777 权限。
我不知道如何解决它。
谢谢。
我不知道为什么我无法使用以下代码删除 Laravel 中的文件:
$path = storage_path('app/identification_cards') . '/' . $filename;
Storage::delete($path)
该命令执行时没有错误,并返回 true。
我检查
了什么: - 路径是正确的。如果我在 bash 终端中使用相同的确切路径(使用“rm”命令),则文件将被删除;
- 该文件确实有 777 权限。
我不知道如何解决它。
谢谢。
Storage::delete
将指向storage\app\
路径,因此无需再次添加应用文件夹名称
Storage::delete('identification_cards/'.$filename);
使用 Illuminate\Support\Facades\File 而不是存储。现在在我的本地主机上工作的代码块:
$separatorLcl=DIRECTORY_SEPARATOR;// a '\' on win os, '/' on linux or whatever
$image = $request->file('userprofile_picture');
$filename = time() . '.' . $image->getClientOriginalExtension();
try {
Image::make($image)->resize(300, 300)->save( storage_path('app'
.$separatorLcl.'public'.$separatorLcl.'rasmho'.$separatorLcl. $filename ) );
}catch ( \Exception $e){
l::k('fayli soxta nashud');
}
if($request->hasFile('userprofile_picture')){
l::k('$user2='.$user->name);//logging
$photo=$user->photo;
if(is_null($photo)){
$user->photo()->create([
'path'=>storage_path('app'
.$separatorLcl.'public'.$separatorLcl.'rasmho'.$separatorLcl. $filename )
]);
}
else{
l::k($photo->path);//logging
try {
File::delete($photo->path);
}catch ( \Exception $e){
l::k('fayli photo nest');
}
$photo->path=storage_path('app'
.$separatorLcl.'public'.$separatorLcl.'rasmho'.$separatorLcl. $filename );
$photo->save();
}