Laravel的Storage :: makeDirectory返回mkdir:invalid参数

时间:2016-01-27 14:14:28

标签: php laravel directory mkdir

所以,当有人上传视频时,我尝试在C:/..../public/videos文件夹中创建一个新目录,使用以下代码:

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

但是我收到了这个错误:

  

Local.php第350行中的ErrorException:mkdir():中的参数无效   HandleExceptions的Local.php第350行 - > handleError(' 2',' mkdir():   参数无效',   ' C:\ XAMPP \ htdocs中\ qanda2 \厂商\联赛\ flysystem \ SRC \适配器\ Local.php&#39 ;,   ' 350',数组(' dirname' =>' C:\ xampp \ htdocs \ qanda2 \ public \ videos \ 31',   '配置' =>对象(Config),' location' =>   ' C:\ XAMPP \ htdocs中\ qanda2 \存储\应用\ C:\ XAMPP \ htdocs中\ qanda2 \公共\视频\ 31&#39 ;,   '的umask' => ' 0','可见性' => ' public'))   MKDIR(' C:\ XAMPP \ htdocs中\ qanda2 \存储\应用\ C:\ XAMPP \ htdocs中\ qanda2 \公共\视频\ 31&#39 ;,   ' 493',true)在Local.php第350行中   局地> createDir(' C:\ XAMPP \ htdocs中\ qanda2 \公共\视频\ 31&#39 ;,   object(Config))在Filesystem.php第259行中   文件系统 - > createDir(' C:\ xampp \ htdocs \ qanda2 \ public \ videos \ 31')in   FilesystemAdapter.php第276行

似乎makeDirectory会在我的路径前自动添加C:\xampp\htdocs\qanda2\storage\app\

这有什么解决方法吗?我现在已经挣扎了一段时间,但是我找不到关于这个问题的任何事情。

1 个答案:

答案 0 :(得分:2)

要创建目录,您应该使用File,如下所示:

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