所以,当有人上传视频时,我尝试在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\
。
这有什么解决方法吗?我现在已经挣扎了一段时间,但是我找不到关于这个问题的任何事情。
答案 0 :(得分:2)
要创建目录,您应该使用File
,如下所示:
if ($request->hasFile('video')) {
$newDir = public_path('videos\\' . $story->story_id);
File::makeDirectory( $newDir, 0755, true);
$request->file('video')->move($newDir);
}