存储::移动给出“文件未找到路径:”Laravel与Ubuntu

时间:2015-09-03 20:41:47

标签: laravel ubuntu

我想用

移动一些文件
Storage::move('posts/temp/'.$val,'photos/'.$post->id.'/'.$val);

但它给了我

File not found at path: home/vagrant/Code/......

是否有一些特殊的配置要查找?顺便说一句,该文件确实位于未找到的路径上。

3 个答案:

答案 0 :(得分:1)

我不得不改为:

'disks' => [

        'local' => [
            'driver' => 'local',
            'root'   => public_path(),
        ],

答案 1 :(得分:1)

您需要添加正在使用的disk()详细信息,例如,如果您使用的是亚马逊s3,则需要在移动之前添加disk('s3'),以便代码为:

Storage::disk('s3')->move('posts/temp/'.$val,'photos/'.$post->id.'/'.$val);

答案 2 :(得分:0)

我有同样的问题。我将文件存储在存储应用程序文件夹(Storage / app / temp_files)中,以查找我尝试过的文件public_path(),storage_path(),url(),但这些都不适合我。但是最后使用PHP本机函数rename()的过程就像一个魅力。 这是我实现此方法的示例

rename(storage_path("app\\temp_files\\$fileNames"),storage_path("app\\post\\$fileNames"));

第一个参数用于旧路径,第二个参数用于新路径,例如

rename($oldPath, $newPath);
  

注意:重命名将移动(从旧位置删除文件)您的文件   从旧位置到新位置