Codeigniter 上传问题:file_name 无法正常工作

Codeigniter upload issue: file_name doesn't work fine

我使用 codeigniter,但在上传文件时遇到问题。 file_name重复产生

我的模型: (db_category)

public function do_upload($route = "./category-pic/") {
    $config = array(
            'allowed_types' => 'jpg|jpeg|gif|png',
            'upload_path'   => $route,
            'encrypt_name'  => 'TRUE',
            'max_size'      =>  3000
    );
    $this->load->library("upload", $config);
}

我的控制器:

$this->db_category->do_upload("./product-pic/");
foreach ($_FILES as $key => $value) {
    $this->upload->do_upload($key);
    $data_name = $this->upload->data();
    $k++;
    if (is_uploaded_file($_FILES['file'.$k]['tmp_name'])) {
        // This is produced Repetitiously sometimes for different pictures.
        echo $data_name['file_name']. " ****** ";
    }
}

我的看法 简单静态如:

echo '<input type="file" name="file1" id="my_uploader" style="width: 210px;" />' ;
echo '<input type="file" name="file2" id="my_uploader" style="width: 210px;" />';
echo '<input type="file" name="file3" id="my_uploader" style="width: 210px;" />';
echo '<input type="file" name="file4" id="my_uploader" style="width: 210px;" />';

注意:所有图片都可以用自己的名字上传,但问题出在$data_name['file_name']

问题是什么?谢谢。

而不是

$data_name['file_name'];

使用

$_FILES['file'.$k]['name'];

终于找到答案了!从视图部分来看这是一个严重的错误。

输入文件未按顺序写入。例如它是这样的:

echo '<input type="file" name="file5" id="my_uploader" style="width: 210px;" />' ;
echo '<input type="file" name="file2" id="my_uploader" style="width: 210px;" />';
echo '<input type="file" name="file3" id="my_uploader" style="width: 210px;" />';

我不知道为什么这会导致问题。