Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter中的多文件上载_Php_Codeigniter_File Upload - Fatal编程技术网

Php codeigniter中的多文件上载

Php codeigniter中的多文件上载,php,codeigniter,file-upload,Php,Codeigniter,File Upload,我正在尝试在Codeigniter中上传多个文件 $count = count($_FILES['userfile']['size']); for($s=1; $s<=$count; $s++) { $_FILES['userfile']['name']= $_FILES['userfile']['name'][$s]; $_FILES['userfile']['type']= $_FILES['userfile']['type'][

我正在尝试在Codeigniter中上传多个文件

$count = count($_FILES['userfile']['size']);
    for($s=1; $s<=$count; $s++) {
            $_FILES['userfile']['name']= $_FILES['userfile']['name'][$s];
            $_FILES['userfile']['type']= $_FILES['userfile']['type'][$s];
            $_FILES['userfile']['tmp_name']=$_FILES['userfile']['tmp_name'][$s];
            $_FILES['userfile']['error']=  $_FILES['userfile']['error'][$s];
            $_FILES['userfile']['size']= $_FILES['userfile']['size'][$s];
            $this->upload->initialize($this->set_upload_options());
            $this->upload->do_upload();
    }
    private function set_upload_options(){
                         $config = array();
                        $config['upload_path'] = './images/';
                        $config['allowed_types'] = 'gif|jpg|png';
                        $config['max_size'] = '100';
                        $config['max_width']  = '1024';
                        $config['max_height']  = '768';
                        return $config;
                        }
$count=count($_文件['userfile']['size']);
对于($s=1;$supload->initialize($this->set_upload_options());
$this->upload->do_upload();
}
私有函数集\上传\选项(){
$config=array();
$config['upload_path']='./images/';
$config['allowed_types']='gif | jpg | png';
$config['max_size']='100';
$config['max_width']='1024';
$config['max_height']='768';
返回$config;
}
我只上传了数组中的第一个文件..数组中的其余文件没有上传..这段代码中有什么错误吗..我想不出来…请帮助我。。
提前感谢

我在这里看到两个问题。首先:

$\u FILES['userfile']['size']
将以字节为单位返回文件量…由于它是一个整数,
count
函数每次都将返回
1
。请改用数组
$\u FILES['userfile']['tmp\u name']

$count = count($_FILES['userfile']['tmp_name']);
然后,您将覆盖
$\u文件
超全局。因此,您必须使用局部变量来保存它:

$count = count($_FILES['userfile']['tmp_name']);
$files = $_FILES;
for($s=1; $s<=$count; $s++) {
    $_FILES['userfile']['name']= $files['userfile']['name'][$s];
    $_FILES['userfile']['type']= $files['userfile']['type'][$s];
    $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$s];
    $_FILES['userfile']['error']= $files['userfile']['error'][$s];
    $_FILES['userfile']['size']= $files['userfile']['size'][$s];
    $this->upload->initialize($this->set_upload_options());
    $this->upload->do_upload();
}
$count=count($_FILES['userfile']['tmp_name']);
$files=$\u文件;
对于($s=1;$supload->initialize($this->set_upload_options());
$this->upload->do_upload();
}

在控制器内部方法中添加此代码

$image_path=$this->input->post('userfile')

$count=count($_FILES['userfile']['name']);//如果文件选择上载,则
//打印($_文件);模具();
$files=$\u文件['userfile']['name'];
$type=$\u文件['userfile']['type'];
$tmp_name=$_文件['userfile']['tmp_name'];
$error=$_文件['userfile']['error'];
$size=$_文件['userfile']['size'];
//打印($files);模具();
//打印($_文件['userfile']['name']);死亡();
对于($i=0;$i load->library($upload',$config);//加载library
$this->upload->initialize($config);
如果(!$this->upload->do\u upload($image\u path\u name))
{
$this->session->set_flashdata('file','file not upload');
重定向(“前端/道具销售”);
}
其他的
{
//文件上载成功
$image\u path[$i]=base\u url().'new/。$this->upload->file\u name;
//打印路径($image\u path);
}
}

感谢您的重播…但它不起作用..仍然只是第一次上传文件。当我调试时,我发现$\u文件['userfile'][']在第一次迭代后没有赋值。它的原因是什么?任何想法或建议都将非常有帮助me@sarincm99是的,对不起,我没有注意到第二个问题。检查我的edit@Brewal..thanks很多..这很有效..一个简单的修复..但无法解决..你救了我..再次感谢brewal
      $count = count($_FILES['userfile']['name']);   //If file choosen to upload then ex
     // print_r($_FILES); die();
        $files = $_FILES['userfile']['name'];
        $type  = $_FILES['userfile']['type'];
        $tmp_name  = $_FILES['userfile']['tmp_name'];
        $error = $_FILES['userfile']['error'];
        $size = $_FILES['userfile']['size'];
       //print_r($files); die();
   // print_r($_FILES['userfile']['name']); die();
      for ($i=0; $i <$count ; $i++) 
          # code...
                      {

                //File Upload Configuration.
                $config['upload_path'] = 'new/';
                //echo $config['upload_path'].'<br>';
                $config['allowed_types'] = 'gif|jpg|png|JPG|PNG|GIF';
                $config['max_size'] = '3048';
                $config['overwrite'] = false;
                $config['remove_spaces'] = true;
                $config['encrypt_name'] = TRUE;
                $image_path_name = 'userfile';



                 $_FILES['userfile']['name']=$files[$i];
                $_FILES['userfile']['type']    = $type[$i];
                $_FILES['userfile']['tmp_name'] = $tmp_name[$i];
                $_FILES['userfile']['error']       = $error[$i];
                $_FILES['userfile']['size']    = $size[$i]; 
                $this->load->library('upload', $config); //Load library
                $this->upload->initialize($config);

                if (!$this->upload->do_upload($image_path_name))
                {
                   $this->session->set_flashdata('file','File not uploaded');
                   redirect('front/prop_sale');
                }
                else
                {
                    // File uploaded successfully


                    $image_path[$i] = base_url().'new/'.$this->upload->file_name;

                    //print_r($image_path);
                }
            }