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