iT邦幫忙

0

resize後取得檔案大小

php

如果用gd作resize後,可以在publish成圖片前就得到檔案大小嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

18
fillano
iT邦超人 1 級 ‧ 2009-06-20 08:50:18
最佳解答

用jquery阿...

<pre class="c" name="code">
<img src="image.php" id=image">
<script>
$(document).ready(function(){
    $("#image").width();
    $("#image").height();
});
</script>

不過在google chrome跟safari跑不出來...

看更多先前的回應...收起先前的回應...
chan15 iT邦新手 3 級 ‧ 2009-06-20 12:57:23 檢舉

不,我的意思是,我想在縮圖後抓取縮圖後的檔案大小存進資料庫。

fillano iT邦超人 1 級 ‧ 2009-06-20 17:08:39 檢舉

如果是用GD,那你縮圖時應該知道他的長寬阿?

fillano iT邦超人 1 級 ‧ 2009-06-20 17:10:12 檢舉
chan15 iT邦新手 3 級 ‧ 2009-06-20 17:45:37 檢舉

第一:我是指檔案大小"size"
第二:我是指縮圖"後",縮圖前用$_FILES['xx']['size']就可以知道大小了
但有沒有辦法抓到縮圖後的大小,我知道可以用filesize去查檔案大小
只是想知道可不可以都在GD完成而已。

fillano iT邦超人 1 級 ‧ 2009-06-20 22:52:53 檢舉

沒辦法。

fillano iT邦超人 1 級 ‧ 2009-06-20 23:16:32 檢舉

圖檔在輸出前,並沒有決定圖檔的格式(例如檔案格式像是jpeg,bmp,png,gif,以及品質像是壓縮品質、色彩數、有沒有包含alpha channel等等),根本不可能知道檔案的大小。另外,壓縮演算法也是壓縮完才知道大小的,如果你要在輸出之前就要知道大小,那要計算兩次,這樣沒意義。

不論是什麼軟體,頂多是在輸出後立刻知道檔案大小(例如輸出到file stream時計算輸出的位元組等等,等輸出完畢就知道檔案大小),假使GD這樣設計,那應該要在imagejpeg或是imagepng這些函數回傳檔案大小的資料,但是他沒這樣設計...所以...沒辦法。

我要發表回答

立即登入回答