上传图片它不工作codeigniter

时间:2018-05-04 15:34:02

标签: php codeigniter upload

我在1个htdocs目录中有2个网站。结构就像这样

它的结构主目录(名称:Quartiere):

Quartiere

  • _admin
  • 应用
  • 资产

第二个网站目录,它的_admin具有相同的结构(默认的CodeIgniter结构)。

我正在尝试将文件从_admin上传到主目录资源文件夹,但由于某种原因,它无法正常工作。我尝试了其他帖子的其他答案,但没有任何帮助。

我尝试了什么:

  1. 将'userfile'放入do_upload
  2. 检查表单是否为多部分(它是)
  3. 我检查了什么:

    1. 如果路径好(就是)
    2. 如果照片的尺寸小于2048(它是)
    3. _admin Controller:

      public function add_product(){
      
              if(!$this->session->userdata('logged_in')){
                  redirect('users/login');
              }
              $data['title'] = 'Adauga Produs';
              $data['categories'] = $this->category_model->get_categories();
      
              $this->form_validation->set_rules('name','Nume','required');
              $this->form_validation->set_rules('category','Categorie','required');
              $this->form_validation->set_rules('ingredients','Ingrediente');
              $this->form_validation->set_rules('price','Pret','required');
              $this->form_validation->set_rules('grams','Gramaj','required');
      
              if($this->form_validation->run() === FALSE){
                  $this->load->view('templates/header');
                  $this->load->view('products/adauga', $data);
                  $this->load->view('templates/footer');
              }else{
                  //upload image
                  $config['upload_path'] = 'http://localhost/quartiere/assets/images';
                  $config['allowed_types'] = 'jpg|png|jpeg';
                  $config['max_size'] = '2048';
                  $config['max_width'] = '2000';
                  $config['max_height'] = '2000';
      
                  $this->load->library('upload',$config);
      
                  if(!$this->upload->do_upload('userfile')){
                      $errors = array('error' => $this->upload->display_errors());
                      $food_image = 'noimage.png';
                  }else{
                      $data = array('upload_data' => $this->upload->data());
                      $food_image = $_FILES['userfile']['name'];
                  }
      
                  $this->food_model->add_product($food_image);
                  redirect('produse/adauga');
              }
          }
      

      _admin查看:

          <?php echo validation_errors();?>
      <?php echo form_open_multipart('products/add_product');?>
      <div class="row">
          <div class="col-md-4 col-md-offset-4">
              <h1 class="text-center">
                  <?php echo $title; ?>
              </h1>
              <div class="form-group">
                  <input type="text" name="name" class="form-control" placeholder="Nume Produs" required/>
              </div>
              <div class="form-group">
                  <select class="form-control" name="category" required>
                      <?php foreach($categories as $category):?>
                          <option value="<?php echo $category['id'];?>"><?php echo $category['category_name'];?></option>
                      <?php endforeach;?>
                  </select>
              </div>
              <div class="form-group">
                  <label>Bar:</label><br>
                  Da <input type="radio" name="bar" class="from-control" value="1"/>
                  Nu <input type="radio" name="bar" class="from-control" value="0"/>
              </div>
              <div class="form-group">
                  <input type="text" name="ingredients" class="form-control" placeholder="Ingrediente"/>
              </div>
              <div class="form-group">
                  <input type="number" name="grams" class="form-control" placeholder="Gramaj"/>
              </div>
              <div class="form-group">
                  <label>Poza:</label>
                  <input type="file" name="userfile" size="10"/>
              </div>
              <div class="form-group">
                  <input type="number" name="price" class="form-control" placeholder="Pret" required/>
              </div>
              <button type="submit" class="btn btn-success btn-block">Adauga Produs</button>
          </div>
      </div>
      <?php form_close(); ?>
      

1 个答案:

答案 0 :(得分:2)

您可以将上传路径设为 - '../assets/images' - 或 - $_SERVER['DOCUMENT_ROOT'].'/quartiere/assets/images'。无论哪种方式都没问题。