图像调整大小不在codeigniter中起作用

时间:2017-05-26 04:41:41

标签: php codeigniter

我有一个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;
    }
}

0 个答案:

没有答案