2016-01-27 33 views
1

所以我想有人上传了一个视频时创造C:/..../public/videos文件夹一个新的目录,使用下面的代码:Laravel的存储:: makeDirectory返回的mkdir:无效的参数

if ($request->hasFile('video')) { 
    $newDir = public_path('videos\\' . $story->story_id); 
    Storage::makeDirectory($newDir, 0755, true); 
    $request->file('video')->move($newDir); 
} 

但我得到这个错误:

ErrorException in Local.php line 350: mkdir(): Invalid argument in Local.php line 350 at HandleExceptions->handleError('2', 'mkdir(): Invalid argument', 'C:\xampp\htdocs\qanda2\vendor\league\flysystem\src\Adapter\Local.php', '350', array('dirname' => 'C:\xampp\htdocs\qanda2\public\videos\31', 'config' => object(Config), 'location' => 'C:\xampp\htdocs\qanda2\storage\app\C:\xampp\htdocs\qanda2\public\videos\31', 'umask' => '0', 'visibility' => 'public')) at mkdir('C:\xampp\htdocs\qanda2\storage\app\C:\xampp\htdocs\qanda2\public\videos\31', '493', true) in Local.php line 350 at Local->createDir('C:\xampp\htdocs\qanda2\public\videos\31', object(Config)) in Filesystem.php line 259 at Filesystem->createDir('C:\xampp\htdocs\qanda2\public\videos\31') in FilesystemAdapter.php line 276

看起来makeDirectory在我的路径前自动添加了C:\xampp\htdocs\qanda2\storage\app\

有没有解决方法?我一直在为此苦苦挣扎,而且我无法找到任何有关此问题的信息。

回答

2

要创建一个目录,你应该使用File,是这样的:

if ($request->hasFile('video')) { 
    $newDir = public_path('videos\\' . $story->story_id); 
    File::makeDirectory($newDir, 0755, true); 
    $request->file('video')->move($newDir); 
} 
+0

File类是这样一个正确的Symfony \分量\ HttpFoundation \文件\文件,也没有在这个类名为makeDirectory方法。 –

+0

哦,不要紧,这是一个:Illuminate \ Support \ Facades \ File。非常感谢! –

+0

如果此代码已经生效,请让答案为已接受,对其他人有帮助 –