Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';t将文件上载到服务器Laravel_Php_File_Laravel_Laravel 4 - Fatal编程技术网

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',  
);