如何使用codeigniter image_lib压缩图像?

kse8i1jr  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(130)

我试图压缩的图像大小在我的codeigniter PHP网站,并写了下面的代码在我的控制器:

$this->load->library('image_lib');
$this->load->library('upload');
$image = array();
$ImageCount = count($_FILES['pimage']['name']);
for($i = 0; $i < $ImageCount; $i++){
    $_FILES['file']['name']       = $_FILES['pimage']['name'][$i];
    $_FILES['file']['type']       = $_FILES['pimage']['type'][$i];
    $_FILES['file']['tmp_name']   = $_FILES['pimage']['tmp_name'][$i];
    $_FILES['file']['error']      = $_FILES['pimage']['error'][$i];
    $_FILES['file']['size']       = $_FILES['pimage']['size'][$i];
    
    // File upload configuration
    $uploadPath = './uploads/products/';
    $config['image_library'] = 'gd2';
    
    $config['upload_path'] = $uploadPath;
    $config['allowed_types'] = 'jpg|jpeg|png|gif';
    $config['quality'] = '60%';
    
    // Load and initialize upload library
    $this->load->library('upload', $config);
    $this->upload->initialize($config);
    
    // Upload file to server
    if($this->upload->do_upload('file')){
        // Uploaded file data
        $imageData = $this->upload->data();
        // $uploadImgData[$i]['image_name'] = $imageData['file_name'];
        $uploadImgData[] = $imageData['file_name'];
    }
}

但是上传后图像仍然保存在相同的大小,有人能告诉我这里出了什么问题吗?

1cklez4t

1cklez4t1#

您需要将配置设置与库操作配对,如调整大小(R)、裁剪(C)、旋转(X)或水印(W)。
请参阅处理方法
和首选项:
| 偏好设定|预设值|选项|项目名称|可用性|
| - -|- -|- -|- -|- -|
| 品质|百分之九十|1至100%|设置图像的质量。质量越高,文件越大。|R、C、X、W|
目前,您只是设置了一堆配置数据,并上传了没有处理方法的图像,因此没有任何变化。

相关问题