繁体   English   中英

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;" />';

我不知道为什么这会引起问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM