使用普通PHP在CodeIgniter中上传多个文件

时间:2013-12-05 12:31:41

标签: php codeigniter upload

我是CodeIgniter的新手。我尝试使用以下方式上传文件:

(适用createAlbum.php)

<form method="post" action="createAlbum_db.php" enctype="multipart/form-data">
    <table>
        <tr>
            <td>Album Name: </td><td><input type="text" name="album_name"></td>
        </tr>
        <tr>
            <td>Photos for album: </td><td><input type = "file" name="photos[]" multiple="true"></td>
        </tr>
        <tr>
            <td><input type="submit" value="Create Album"></td>
        </tr>
    </table>
</form>

(适用createAlbum_db.php)

for ($i=0; $i < count($_FILES['photos']['name']);$i++) {
    if (move_uploaded_file(base_url().'assets/images/'.$_FILES['photos']['name'][$i],$_FILES['photos']['tmp_name'][$i])) {
        echo '<br>success';
    } else {
        echo '<br>Failure';
        echo $_FILES['photos']['error'][$i];
    }
}

我的资产目录位于应用程序和系统文件所在的同一目录中。 我无法弄清楚的是我应该留下什么 move_uploaded_file(**DESTINATION????**,$_FILE['photos']['tmp_name']);

我已经阅读了大部分帖子,并且发现CodeIgniter的本地上传器类难以使用。

2 个答案:

答案 0 :(得分:0)

CODI。为

提供上传功能
    <?php
      $config['upload_path'] = // Here Goes Path;
      $config['allowed_types'] = // Here Goes allowed file types;
      $config['max_size'] = // you can validate max. size;
      $config['max_width']  = '';
      $config['max_height']  = '';
      $config['overwrite'] = TRUE;
      $config['remove_spaces'] = TRUE;

      $this->load->library('upload', $config);
      if (!$this->upload->do_upload())
      {
          echo $this->upload->display_errors();
      }
      else
      {
          $img =    $this->upload->data();
          $img_name = $img['file_name'];
      }

    ?> 

就像这样,您可以上传单个文件....

答案 1 :(得分:0)

由于您需要服务器路径使用realpath('assets/images/')而不是base_url()