在laravel中创建文件夹

我有问题让用户通过ajax request> route> controller @ method在laravel 4中创建文件夹。
我测试了对url调用权限方法的ajax成功请求。
当我使用mkdirFile::mkdir($path); (这种方法存在吗?),我将得到响应Failed to load resource: the server responded with a status of 500 (Internal Server Error)并且无法创建新文件夹..如何解决?

route.php

 Route::post('admin/article/addimagegallery', 'AdminDashboardController@addImagegallery'); 

AdminDashboardController

 public function addImagegallery() { if (Request::ajax()) { … $galleryId = 1; // for test $path = public_path().'/images/article/imagegallery/'.$galleryId; File::mkdir($path); } } 

JS

 $.ajax({ url: 'addimagegallery', type: 'POST', data: {addimagegallery: 'addimagegallery'}, }) .done(function(response) { console.log(response); }); 

不,实际上是

 File::makeDirectory($path); 

另外,你可以试试这个:

 $path = public_path().'/images/article/imagegallery/' . $galleryId; File::makeDirectory($path, $mode = 0777, true, true); 

更新:实际上它确实有效, mkdir正在幕后使用。 这是来源:

 /** * Create a directory. * * @param string $path * @param int $mode * @param bool $recursive * @param bool $force * @return bool */ public function makeDirectory($path, $mode = 0777, $recursive = false, $force = false) { if ($force) { return @mkdir($path, $mode, $recursive); } else { return mkdir($path, $mode, $recursive); } } 

删除:

 public function deleteDirectory($directory, $preserve = false); 

检查以下路径的源(在本地安装中):

根/供应商/ laravel /框架/ SRC /照亮/文件系统/ Filesystem.php

您可以使用多个参数。

您可以使用默认值创建目录。

 $result = File::makeDirectory('/path/to/directory'); 

如果能够在/ path / to目录中创建目录,则返回true。 创建目录的文件模式为0777。

您可以指定模式。

 $result = File::makeDirectory('/path/to/directory', 0775); 

如果能够在/ path / to目录中创建目录,则返回true。 创建目录的文件模式为0775。

您还可以递归创建目录。

 $result = File::makeDirectory('/path/to/directory', 0775, true); 

感谢The Alpha。 你的回答对我有帮助,对于那些使用更高版本的人来说,这是一个laravel 5方法:

 Storage::disk('local')->makeDirectory('path/to'); 

这将在storage/app/path/to创建一个目录

检索刚刚创建的目录:

 storage_path('app/path/to')