尽管我给了正确的权限,但Laravel4无法创建目录.发生了FileException错误,http: //s28.postimg.org/xkor8srxp/2014_01_03_2_53_18.png .我尝试了很多权限..
sudo chmod -R 777存储
sudo chmod -R 707存储
sudo chmod -R o + rwx存储
我甚至重新启动了Apache服务器.我一直在谷歌搜索24小时左右,仍然无法弄清楚..这里是路线和查看文件.
// routes.php Route::post('handle-form', function() { $name = Input::file('book')->getClientOriginalName(); Input::file('book')->move('/storage/directory', $name); return 'File was moved.'; }); // form2.blade.php
目前我按照你的帮助对routes.php做了什么,
Route::post('handle-form', function() { $name = Input::file('book')->getClientOriginalName(); Input::file('book')->move(public_path().'/storage/directory', $name); return 'File was moved.'; });
我给的权限是sudo chmod -R 777存储
这是你可以做的工作:
在公用文件夹或任何其他位置创建目录:
mkdir -p /var/www/your-site-path/public/storage/directory
使其可由您的网络服务器写入
sudo chmod 770 /var/www/your-site-path/public/storage/directory sudo chown username:www-data /var/www/your-site-path/public/storage/directory or sudo chown dongju:httpd /var/www/your-site-path/public/storage/directory
告诉Laravel以这种方式将文件写入该文件夹:
$name = Input::file('book')->getClientOriginalName(); Input::file('book')->move(public_path().'/storage/directory', $name);
使用这种方法我在这里创建了这两条路线,它对我有用:
Route::get('form', function() { return Form::open(array('url' => 'http://your-dev-server-address/upload', 'files' => true)) . Form::file('book', $attributes = array()) . Form::submit('submit') . Form::close(); }); Route::post('upload', function() { Input::file('book')->move(public_path().'/storage/directory', Input::file('book')->getClientOriginalName()); });
第一个/form
将显示文件上载表单,第二个/upload
将获取文件并将其保存到正确的路径.