我尝试从单个表单上传多个文件但由于某种原因我得到“上传路径似乎无效”。我检查了权限,他们是正确的,所以我不知道这是自己的图像是一个问题..这些是我用来创建图像的功能
<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();
}
}
答案 0 :(得分:1)
将配置移至config/upload.php
。作为替代解决方案,您可以在加载库后使用以下代码行初始化配置:
$this->upload->initialize($config);
如果您不想使用上述方法设置首选项,则可以将它们放入配置文件中。只需创建一个名为upload.php的新文件,在该文件中添加$ config数组。然后将文件保存在:config / upload.php中,它将自动使用。如果您将首选项保存在配置文件中,则无需使用$ this-&gt; upload-&gt;初始化函数。
要检查PHP是否可以访问您的目录,您可以使用is_dir()
:
var_dump(is_dir('/path/to/upload/folder/'));
希望这有帮助!