上传图片返回原图尺寸

你要继续加油哦
  • 433

给小程序做商品详情接口,要求下发原图的尺寸,要求后台上传图的时候返回图尺寸,存入数据库
原图的尺寸要如何获取呢,uploadFile上传文件公共类里没有width,height
用Image获取?

有个疑问,上传的图过程中设置过大小,图的尺寸不会变吗?

//设置上传文件大小
$upload->maxSize  = conf('MAX_IMAGE_SIZE') ;  /* 配置于config */

还是说在上传图的时候可以在js获取图的大小,不用上传图片返回?
感谢~提供搜索关键词也可

回复
阅读 2.4k
3 个回答
✓ 已被采纳

得到图片的路径后,可以
$res = getimagesize("1.jpg");
$res是个数组,打印看看~~
还是看下官方文档吧 getimagesize

uploadFile 应该是jquery 的插件吧,我不太清楚它能不能获取图片的宽高,但是php 可以通过getimagesize() 获取图片信息,当然还有imagesx()imagesy()这种函数,但是我觉得像坐标,宽高这些还是由前端提供好些,我推荐使用这个插件:

https://github.com/blueimp/jQuery-File-Upload

还有上传过程中设置大小,如果是单纯的js,那么图片的尺寸是不会改变的,你要通过给服务端提供原图以及放大缩小的比例或者坐标,在服务器端进行操作,当然如果你在前端用的是 Canvas 来操作图片,那么它会直接进行放大缩小裁剪之类的操作,并且会把图片以二进制流的形式传给服务端

function myimgsize($imgfile) {
   list($width, $height, $type, $attr) =  GetImageSize($imgfile);
   return array('width' => $width, 'height' =>  $height) ;
}

array(2) {
  ["width"]=>
  int(1237)
  ["height"]=>
  int(496)
}

帮简单写一个取width height

宣传栏