coderuner 发表于 2015-6-16 11:59:20

Upload 多图片上传为何name一致?

本帖最后由 coderuner 于 2015-6-16 12:07 编辑

$this->CI->load->library('upload');
foreach($_FILES as $key=>$value){
   if($value['name']!=''){
         $type = strstr($value['name'],'.');
         $super = date("YmdHis").uniqid(); //时间加上随机数
         $fileName = $useType."_".$super.'.'.$type; //生成随机名
         $config = array(); //图片存储配置
         $config['upload_path'] = "assets/upload/";
         $config['allowed_types'] = 'gif|jpg|png|jpeg';
         $config['file_name'] = $fileName;
         $this->CI->upload->initialize($config);
         if(!$this->CI->upload->do_upload($key)){
               //$error = array('error' => $this->upload->display_errors());
               return false;
               exit();
            }else{
               $data = array('upload_data' => $this->CI->upload->data());
               log_message('INFO','全地址:'.$data['upload_data']['file_name']);
            }
       }
}

---------------------------------------------------------------------------------------------------------------------------------
repair_20150616114515557f9bcb4f268_.jpg
repair_20150616114515557f9bcb4f268_1.jpg
repair_20150616114515557f9bcb4f268_2.jpg
repair_20150616114515557f9bcb4f268_3.jpg

这里后面多出的_1_2应该是CI 自动避免同名自动添加的,疑问是 上面每次循环都用了随机产出名字,为何最后图片还是都是取的第一次的随机数名字??? 求大神解惑!!!




coderuner 发表于 2015-6-16 12:30:13

由于多图片上传时候,产出图片是在同一秒内,所以会产生这个同名原因.
rand(1,99999999);加入super后缀,发现名字已改变。确实是执行了...但是速度极快!
页: [1]
查看完整版本: Upload 多图片上传为何name一致?