Php 上载带有缩略图的文件数组

Php 上载带有缩略图的文件数组,php,codeigniter,Php,Codeigniter,我正试图从一个表单上载多个文件,但由于某些原因,我得到“上载路径似乎无效”。我已检查了权限,它们是正确的,因此我不知道这是否是图像本身的问题。。这些是我用来创建图像的函数 <input type="file" name="images[]" multiple id="img"></input> function upload_image(){ $config['allowed_types'] = 'gif|jpg|png|jpeg'; $config[

我正试图从一个表单上载多个文件,但由于某些原因,我得到“上载路径似乎无效”。我已检查了权限,它们是正确的,因此我不知道这是否是图像本身的问题。。这些是我用来创建图像的函数

<input type="file" name="images[]" multiple id="img"></input>

function upload_image(){

    $config['allowed_types'] = 'gif|jpg|png|jpeg';
    $config['max_size'] = 2*1024;
    $config['max_width']  = '1024';
    $config['max_height']  = '1024';
    $config['remove_spaces'] = TRUE;

    $this->load->library('upload', $config);

    if (!$this->upload->do_upload('images'))
    {
        $error = array('error' => $this->upload->display_errors());
        return $error;
    }   
    else
    {
        for($i = 0, $t = count($_FILES['images']); $i < $t; $i++) {

            $id = $this->files->create_thumb($i);

        }
    }
}

 function create_thumb($i){

    $file = $this->upload->data();
    $files = $file['file_name'];
    $fields = array('files' => $files[$i]);

    print_r($fields);
    exit;

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

    $config['image_library'] = 'gd2';
    $config['source_image'] = 'files/images/'.$files[$i];
    $config['new_image']    = 'files/images/thumbs/'.$files[$i];
    $config['thumb_marker'] = '';
    $config['create_thumb'] = TRUE;
    $config['maintain_ratio'] = TRUE;
    $config['width']     = 120;
    $config['height']   = 120;

    $this->load->library('image_lib'); 
    $this->image_lib->initialize($config);
    $this->image_lib->resize();
    $this->image_lib->clear();

    }

}

函数upload_image(){
$config['allowed_types']='gif | jpg | png | jpeg';
$config['max_size']=2*1024;
$config['max_width']='1024';
$config['max_height']='1024';
$config['remove_spaces']=TRUE;
$this->load->library('upload',$config);
如果(!$this->upload->do_upload('images'))
{
$error=array('error'=>$this->upload->display_errors());
返回$error;
}   
其他的
{
对于($i=0,$t=count($_文件['images']);$i<$t;$i++){
$id=$this->files->create_thumb($i);
}
}
}
函数create_thumb($i){
$file=$this->upload->data();
$files=$file['file_name'];
$fields=array('files'=>$files[$i]);
打印(字段);
出口
对于($i=0;$iload->lib('image_lib');
$this->image\u lib->initialize($config);
$this->image_lib->resize();
$this->image_lib->clear();
}
}

将配置移动到
config/upload.php
。作为替代解决方案,您可以在加载库后使用以下代码行初始化配置:

$this->upload->initialize($config);
从:

如果您不想使用上述方法设置首选项,可以将其放入配置文件中。只需创建一个名为upload.php的新文件,在该文件中添加$config数组。然后将文件保存在:config/upload.php中,它将被自动使用。如果将首选项保存在配置文件中,则无需使用$this->upload->initialize函数

要检查PHP是否可以访问您的目录,您可以使用:


希望这有帮助

>,试着在路径上工作……考虑它与主索引文件.php文件相对应,因此您可以尝试<代码> ./文件/图像.. < />代码>添加上载路径到上传ADVIGEIVE()函数…类似于:$config['upload_path']=realpath(APPPATH.../files/images');,并初始化配置,如下面的回答中所述。。。
var_dump(is_dir('/path/to/upload/folder/'));