Php Can';t将文件上载到服务器Laravel
我试图添加一些产品到我的数据库,我必须上传这个产品的照片。我已经创建了一个控制器和视图,但当我单击“创建”时,出现了一个错误Php Can';t将文件上载到服务器Laravel,php,file,laravel,laravel-4,Php,File,Laravel,Laravel 4,我试图添加一些产品到我的数据库,我必须上传这个产品的照片。我已经创建了一个控制器和视图,但当我单击“创建”时,出现了一个错误 Unable to create the "/uploads/products/" directory 这是我的代码: 控制器 public function postAddProduct(){ $destinationPath = ''; $filename = ''; $newId = Product::max('id')+1;
Unable to create the "/uploads/products/" directory
这是我的代码:控制器
public function postAddProduct(){
$destinationPath = '';
$filename = '';
$newId = Product::max('id')+1;
$validator = Validator::make(Input::all(), array(
'name' => 'required',
'description' => 'required',
'partner_link' => 'required',
'image'=>'required'
));
if (Input::hasFile('image')) {
$file = Input::file('image');
$destinationPath = public_path().'/uploads/products/';
$filename = $newId.'.'.$file->getClientOriginalExtension();
$uploadSuccess = $file->move($destinationPath, $filename);
}
if($validator->passes()){
$product = new Product;
$product->name = Input::get('name');
$product->description = Input::get('description');
$product->category_id = Input::get('category');
$product->partner_link = Input::get('partner_link');
$product->photo = $filename;
$product->save();
return Redirect::back();
}else{
return Redirect::back()->withErrors($validator)->withInput();
}
}
视图:
听起来好像
public/uploads/products
文件夹不存在,Laravel没有创建它的权限
尝试手动创建文件夹,通过运行
chmod 775 public/uploads/products
确保Laravel对其具有可写访问权限。然后重试代码。我将此文件夹设置为公用\u html/因为此应用程序位于服务器上。您的Laravel项目的路径是什么?如何将public_html集成到Laravel中?例如,符号链接公用文件夹?或者整个Laravel结构进入公共html,例如公共html/app、公共html/bootstrap等等?不,这是我的公共html应用程序结构我有所有的js/css/图像文件我的引导程序看起来像这样return数组('app'=>\uuuuuuu DIR./../app','public'=>\uuuuuu DIR./../public','base'=>\uuuu DIR./'/../storage'=>\uuuuu DIR./../app/storage',)代码>抱歉设置样式。请尝试chmod 775 public\u html/uploads/products
。或777,如果775不工作。
{{ Form::open(array('url'=>'user/admin/products/addd', 'files' => true, 'class'=>'col-md-4', 'style'=> 'float:none; margin: 0 auto', 'id'=>'register-form')) }}
<h2 class="form-signin-heading">Add Product</h2>
{{ Form::text('name', null, array('class'=>'form-control', 'placeholder'=>'Name')) }}
{{ Form::textarea('description', null, array('class'=>'form-control', 'placeholder'=>'Description')) }}
{{ Form::text('partner_link', null, array('class'=>'form-control', 'placeholder'=>'Partner link')) }}
{{Form::label('category', 'Category: ', array('class' => 'field-name'))}}
<select name="category">
<?php $i = 0; ?>
@foreach($categories as $category)
<optgroup label="{{$category['name']}}">
@foreach($category['subcategories'] as $sub)
<option value="{{$sub->id}}">{{$sub->name}}</option>
@endforeach
</optgroup>
@endforeach
</select>
<div class="clearfix"></div>
{{Form::file('image', array('style' => 'margin-bottom: 10px'))}}
{{ Form::submit('Add', array('class'=>'btn btn-large btn-primary btn-block'))}}
{{ Form::close() }}
return array(
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../public',
'base' => __DIR__.'/..',
'storage' => __DIR__.'/../app/storage',
);