我有一个upload_images
函数
$config['upload_path'] = './uploads/individual_stands/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['overwrite'] = FALSE;
此配置传递给upload_images
函数。
function upload_images($config, $files, $name) {
if (!file_exists($config['upload_path'])) {
mkdir($config['upload_path'], 0777, true);
}
$this->load->library('upload', $config);
$filesCount = count($files[$name]['name']);
for ($i = 0; $i < $filesCount; $i++) {
$_FILES = array();
$_FILES['image']['name'] = $files[$name]['name'][$i];
$_FILES['image']['type'] = $files[$name]['type'][$i];
$_FILES['image']['tmp_name'] = $files[$name]['tmp_name'][$i];
$_FILES['image']['error'] = $files[$name]['error'][$i];
$_FILES['image']['size'] = $files[$name]['size'][$i];
$this->upload->initialize($config);
if ($this->upload->do_upload('image')) {
$fileData = $this->upload->data();
$uploadData[$i]['file_name'] = $fileData['file_name'];
image_resizing($config['upload_path'] . $fileData['file_name'], $fileData['file_name'] . '_250x250', $config['upload_path'], '250', TRUE, '250');
}
}
if (!empty($uploadData)) {
$data = array(
'status' => 'success',
'images' => $uploadData
);
} else {
$data = array(
'status' => 'error',
'error' => $this->upload->display_errors()
);
}
return $data;
}
我有一个名为'image_resizing'的辅助函数。我在帮助函数中传递了正确的参数,但是没有创建thumb目录,也没有调整图像的大小。
function image_resizing($imageObj, $fileName, $path = '', $width = 0, $create_thumb = TRUE, $height = 0) {
$newdir = $path. 'thumb/';
if (!file_exists($newdir)) {
mkdir($path, 0777, true);
}
$CI = & get_instance();
$config['image_library'] = 'gd2';
$config['source_image'] = $imageObj;
$config['new_image'] = $path . 'thumb/' . $fileName;
$config['create_thumb'] = $create_thumb;
$config['maintain_ratio'] = TRUE;
if ($width != 0)
$config['width'] = $width;
if ($height != 0)
$config['height'] = $height;
$CI->load->library('image_lib', $config);
$CI->image_lib->initialize($config);
if (!$CI->image_lib->resize()) {
return FALSE;
} else {
return TRUE;
}
}