我有问题让用户通过ajax请求>在laravel 4中创建文件夹路线>控制器@方法.
我测试ajax成功请求到url调用正确的方法.
当我使用mkdir或File :: mkdir($path); (这个方法是否存在?),我将收到响应无法加载资源:服务器响应状态为500(内部服务器错误),并且无法创建新文件夹..如何解决?
我测试ajax成功请求到url调用正确的方法.
当我使用mkdir或File :: mkdir($path); (这个方法是否存在?),我将收到响应无法加载资源:服务器响应状态为500(内部服务器错误),并且无法创建新文件夹..如何解决?
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,$recursive = false,$force = false) { if ($force) { return @mkdir($path,$mode,$recursive); } else { return mkdir($path,$recursive); } }
删除:
public function deleteDirectory($directory,$preserve = false);
检查源在以下路径(在您的本地安装):
root/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.PHP