Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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,我正在尝试使用以下代码使用不同的文件输入进行多个图像上载 <input name="attachement[]" type="file"> <input name="attachement[]" type="file"> 我的codeigniter代码是 $config = array( 'upload_path' => $path, 'max_size' => 1024 * 100,

我正在尝试使用以下代码使用不同的文件输入进行多个图像上载

<input name="attachement[]" type="file">
<input name="attachement[]" type="file">

我的codeigniter代码是

$config = array(
                'upload_path' => $path,
                'max_size' => 1024 * 100,
                'allowed_types' => 'gif|jpeg|jpg|png',
                'overwrite' => true,
                'remove_spaces' => true);
            $images = array();
            $this->load->library('upload');

            $files = $_FILES;
            $count = count($_FILES[$attachName]['name']);


            for ($i = 0; $i < $count; $i++) {

                $_FILES[$attachName]['name'] = $files[$attachName]['name'][$i];
                $_FILES[$attachName]['type'] = $files[$attachName]['type'][$i];
                $_FILES[$attachName]['tmp_name'] = $files[$attachName]['tmp_name'][$i];
                $_FILES[$attachName]['error'] = $files[$attachName]['error'][$i];
                $_FILES[$attachName]['size'] = $files[$attachName]['size'][$i];

                $fileName = $title . '_' . $_FILES[$attachName]['name'];
                $images[] = $fileName;
                $config['file_name'] = $fileName;

                $this->upload->initialize($config);
                $this->upload->do_upload();
                if ($this->upload->do_upload()) {
                    $return['data'][] = $this->upload->data();
                    $return['status'] = "success";
                    $return['msg'] = sprintf($this->lang->line('success_item_added'), "Image", "uploaded");
                } else {
                    $return['status'] = 'danger';
                    $return['msg'] .= $this->upload->display_errors('', '') . "\r";
                }

            }
$config=array(
“上传路径”=>$path,
“最大尺寸”=>1024*100,
“允许的_类型”=>“gif | jpeg | jpg | png”,
“覆盖”=>true,
“删除_空格”=>true);
$images=array();
$this->load->library('upload');
$files=$\u文件;
$count=count($_文件[$attachName]['name']);
对于($i=0;$i<$count;$i++){
$_FILES[$attachName]['name']=$FILES[$attachName]['name'][$i];
$_FILES[$attachName]['type']=$FILES[$attachName]['type'][$i];
$\u FILES[$attachName]['tmp\u name']=$FILES[$attachName]['tmp\u name'][$i];
$_FILES[$attachName]['error']=$FILES[$attachName]['error'][$i];
$_FILES[$attachName]['size']=$FILES[$attachName]['size'][$i];
$fileName=$title.'.'.$\u文件[$attachName]['name'];
$images[]=$fileName;
$config['file_name']=$fileName;
$this->upload->initialize($config);
$this->upload->do_upload();
如果($this->upload->do_upload()){
$return['data'][=$this->upload->data();
$return['status']=“success”;
$return['msg']=sprintf($this->lang->line('success\u item\u added'),“Image”,“upload”);
}否则{
$return['status']='danger';
$return['msg']。=$this->upload->display_errors('','')。“\r”;
}
}
在上面的代码中$attachName=“attachement”

但是我得到错误
您没有选择任何要上传的文件


我做错了什么?

对于多文件选择和上载,您必须使用

 <input name="attachement[]" type="file" multiple>


否则,它将始终选择一个文件,具有相同文件的多个文件将相互覆盖。

请将
enctype=“multipart/form data
包含在您的
标记中:

 <form method="post" enctype="multipart/form-data">
       <input name="attachement[]" type="file">
       <input name="attachement[]" type="file">
    </form>

我找到了解决问题的方法

$this->upload->do_upload(); <-- removed this line
对此

if ($this->upload->do_upload($attachName)) {
我希望这对某人有帮助


感谢那些没有评论的人投票失败,甚至是为什么

我不需要标记中的多个,那么你必须为每个标记保留不同的名称,否则最后一个标签将覆盖上一个标记。这是发生在你身上的。嗨,我使用$attachName,我得到的错误就像“变量找不到”“…如何解决这个问题。$attachName是一个变量,它是表单中上载字段的名称。我只使用了我的上载文件名,我无法使用任何变量。如果我添加3个图像意味着,只有1个图像添加到db和给定文件夹中,其余两个图像没有添加。要查看我的代码……请给我解决这个问题的方法,我挣扎了两天
if ($this->upload->do_upload($attachName)) {