如何移动位于公用文件夹外的文件?

时间:2017-03-06 01:42:29

标签: php laravel

我现在正试图找出如何将暂时存储在存储/应用/块中的文件移动到公用文件夹中,以便将其永久保存在那里。

我试过了

$chunk_file_path = "/storage/app/chunks/The Simpsons Movie - 1080p Trailer.mp4-YMtmuO4cEG4ejK6knZOEzZCxVie0NwDgdFqggThG-147399359.part";
$chunk_move_path = "uploads/The Simpsons Movie - 1080p Trailer.mp4-YMtmuO4cEG4ejK6knZOEzZCxVie0NwDgdFqggThG-147399359.part";
Storage::move($chunk_file_path, $chunk_move_path);

我遇到的问题是

FileNotFoundException in Filesystem.php line 385: File not found at path: storage/app/chunks/The Simpsons Movie - 1080p Trailer.mp4-YMtmuO4cEG4ejK6knZOEzZCxVie0NwDgdFqggThG-147399359.part

该文件确实存在,但似乎根文件夹自动成为Laravel安装的公用文件夹。所以它正在查看public/storage/app/chunks/The Simpsons Movie - 1080p Trailer.mp4-YMtmuO4cEG4ejK6knZOEzZCxVie0NwDgdFqggThG-147399359.part并且显然无法找到它,因为它不在公用文件夹层次结构中。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

打开config/filesystems.php,然后1)修改您的public设置,或创建新设置并将其传递到Storage::disk('new_setting')->move($chunk_file_path, $chunk_move_path);

如:

'disks' => [
    'videos' => [
        'driver' => 'local',
        'root' => '/some/path/here', // (I recommend still using `storage_path()` here
    ]
]

Storage::disk('videos')->move($chunk_file_path, $chunk_move_path)

有关详细信息,请参阅Laravel文档Filesystems(包括公开访问文件)。