如何在Cloudinary上传时调整图片尺寸(PHP 8.1.2环境)
解决Cloudinary上传时调整图片尺寸的问题
要在上传图片到Cloudinary时直接将其调整为150w×200h,只需在upload方法的参数数组中添加**转换参数(transformation)**即可,Cloudinary会在云端完成尺寸调整,无需本地处理。
修改后的上传代码片段
$image_array = (new UploadApi())->upload($tmp_name, [ 'public_id' => $image_name, 'folder' => 'student_images', 'overwrite' => TRUE, // 添加尺寸转换配置 'transformation' => [ 'width' => 150, 'height' => 200, 'crop' => 'fill' // 根据需求选择裁剪模式 ] ]);
关键参数说明
width/height:指定目标尺寸为150px宽、200px高crop:裁剪模式,常用选项包括:fill:保持图片比例,裁剪超出部分以填满指定尺寸(不会变形)fit:按比例缩放图片,使其完全适配指定尺寸(不会裁剪,可能留有空白)crop:直接裁剪到指定尺寸(不保持比例,可能导致变形,除非原图比例刚好匹配)limit:只缩小不放大,若原图尺寸小于目标尺寸则保持原大小
可选优化:添加格式转换(如WebP)
如果需要同时优化图片体积,可额外添加format参数转换为更高效的格式:
'transformation' => [ 'width' => 150, 'height' => 200, 'crop' => 'fill', 'format' => 'webp' // 转换为WebP格式,减小文件体积 ]
修改后,上传到Cloudinary的图片会直接生成你需要的150×200尺寸版本,后续无需再手动调整。
内容的提问来源于stack exchange,提问作者John Cowan
相关产品推荐
相关产品推荐

