通過url獲取圖片尺寸的幾種方法:JS和php

suboysugar發表於2016-06-24

首先是js的方法,通過new一個Image物件,設定src屬性,並監聽complete和onload事件,圖片載入完成後輸出圖片的寬度和高度

function checkPicurl(url){

var img = new Image();
img.src = url;
img.onerror = function(){
alert(name+” 圖片載入失敗,請檢查url是否正確”);
return false;
};

if(img.complete){
console.log(img.width+” “+img.height);
}else{
img.onload = function(){
console.log(img.width+” “+img.height);
img.onload=null;//避免重複載入
}
}

}

 

php方法:

使用php是因為出現了這樣的需求:已經入庫一批資料,這些資料的url欄位值沒有拼接圖片寬和高的資訊,而需求是希望記錄,這樣就要從表中識別出沒有拼圖片寬高的資料,並分別獲取每個圖片url的尺寸資訊,在更新到表中。通過java實現相對繁瑣,而php中提供了GetImageSize函式,可以獲取本地和網路圖片的尺寸資訊,函式說明如下:

GetImageSize:取得圖片的長寬。
語法: array getimagesize(string filename, array [imageinfo]);
返回值: 陣列
函式種類: 圖形處理
內容說明
本函式可用來取得 GIF、JPEG 及 PNG 三種 WWW 上圖片的高與寬,不需要安裝 GD library 就可以使用本函式。返回的陣列有四個元素。返回陣列的第一個元素 (索引值 0) 是圖片的高度,單位是畫素 (pixel)。第二個元素 (索引值 1) 是圖片的寬度。第三個元素 (索引值 2) 是圖片的檔案格式,其值 1 為 GIF 格式、 2 為 JPEG/JPG 格式、3 為 PNG 格式。第四個元素 (索引值 3) 為圖片的高與寬字串,height=xxx width=yyy。可省略的引數 imageinfo 用來取得一些圖片的相關資訊,例如 IPTC (http://www.xe.net/iptc) 的 APP13 標記,就可以加在圖片中,可利用 iptcparse() 來解析。

使用範例
<?php
function MyImg($imgfile) {
  $size = GetImageSize($imgfile);
  echo “<img src=/”$imgfile/” $size[3]>”;
}
MyImg(“img/img1.gif”);
MyImg(“http://img02.sogoucdn.com/app/a/100520052/5a1f885e25b7af28822b14dc069a5f16”);
?>

 

如何聯絡我:【萬里虎】www.bravetiger.cn
【QQ】3396726884 (諮詢問題100元起,幫助解決問題500元起)
【部落格】http://www.cnblogs.com/kenshinobiy/


相關文章