【问题标题】:Storage::delete not deleting the file. The path is correct and the file permissions are correctStorage::delete 不删除文件。路径正确,文件权限正确
【发布时间】:2018-03-06 04:32:42
【问题描述】:

我不知道为什么我无法使用代码删除 Laravel 中的文件:

$path = storage_path('app/identification_cards') . '/' . $filename;
Storage::delete($path)

命令执行没有错误,返回true。

我检查了什么:
- 路径是正确的。如果我在 bash 终端中使用相同的确切路径(使用“rm”命令),则文件将被删除;
- 该文件确实有 777 权限。

不知道怎么解决。

谢谢。

【问题讨论】:

  • 你检查你的 $path 有你的文件的确切路径吗?
  • 删除前检查路径是否正确:echo $path

标签: php laravel-5.2 laravel-storage


【解决方案1】:

Storage::delete 将指向storage\app\ 路径,因此无需再次添加应用文件夹名称

  Storage::delete('identification_cards/'.$filename);

【讨论】:

  • 试过了。得到它的错误:“权限被拒绝”。该文件有 777 权限,所以我不知道为什么会出现该错误。
  • 您需要授予存储文件夹 755 的权限
  • 感谢@iCoders,问题是文件夹(不是存储,“identification_card”)权限。
  • 存储文件夹权限 777 不起作用,好点@iCoders!
【解决方案2】:

使用 Illuminate\Support\Facades\File 而不是 Storage。现在在我的本地主机上工作的代码块:

    $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();
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 2015-08-30
    相关资源
    最近更新 更多