getimagesize()是用來讀取GIF、JPG、 PNG 或 SWF圖檔的大小,並傳回圖檔的寬和高及檔案的類型,

<?php
list($width, $height, $type, $attr) = getimagesize('img/flag.jpg');
echo "<img src='img/flag.jpg' $attr>";
?>

不過,如果將圖檔路徑改成完整的網址的話(ex. http://www.exp.com/img/flag.jpg),有些網站就會報錯了
錯誤訊息大致如下:

Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration ...

這是因為php.ini裡面的 "allow_url_fopen" 預設值為off,想要讓getimagesize()正常就必須將 "allow_url_fopen" 改為on,
如果你是使用虛擬主機來架站,往往他們不會幫你更動這一項設定,會用安全性的理由來回絕你,這時候怎麼辦?



那我們只好從修改路徑方式來做了,範例如下:

$img_size = @getimagesize ($img_url);
if ($img_size[0]==false) {
preg_match ('#http://[^/]+(.+)#', $img_url, $m);
$img_path=substr($m[1],1);
$img_size = @getimagesize ($img_path);
}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 iknew 的頭像
    iknew

    Simon的生活札記

    iknew 發表在 痞客邦 留言(0) 人氣()