尽管我给了正确的权限,但Laravel4无法创建目录.发生了FileException错误,http: //s28.postimg.org/xkor8srxp/2014_01_03_2_53_18.png .我尝试了很多权限..
我甚至重新启动了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
<form action="{{ url('handle-form') }}"
method="POST"
enctype="multipart/form-data">
<input type="file" name="book" />
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
目前我按照你的帮助对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.';
});
Run Code Online (Sandbox Code Playgroud)
我给的权限是sudo chmod -R 777存储
Ant*_*iro 10
这是你可以做的工作:
在公用文件夹或任何其他位置创建目录:
mkdir -p /var/www/your-site-path/public/storage/directory
Run Code Online (Sandbox Code Playgroud)
使其可由您的网络服务器写入
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
Run Code Online (Sandbox Code Playgroud)
告诉Laravel以这种方式将文件写入该文件夹:
$name = Input::file('book')->getClientOriginalName();
Input::file('book')->move(public_path().'/storage/directory', $name);
Run Code Online (Sandbox Code Playgroud)
使用这种方法我在这里创建了这两条路线,它对我有用:
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());
});
Run Code Online (Sandbox Code Playgroud)
第一个/form将显示文件上载表单,第二个/upload将获取文件并将其保存到正确的路径.
| 归档时间: |
|
| 查看次数: |
10111 次 |
| 最近记录: |