作者gto770 (人多更寂寞)
看板PHP
標題[請益] GD多張圖片合成一張小圖問題
時間Wed Jul 31 18:01:36 2013
想將某網站上的20張圖片抓下來想要合成一張小圖,但是會一直沒有結果跑出來
我用的是imagecreatefromjpeg()這個function,但是每次跑到一半就會沒結果
以下為程式:
for($i=0;$i<20;$i++){
$sources[] = imagecreatefromjpeg("xxx.xxx.com.tw/abc.jpg");
}
合圖的部分程式沒有打出來,因為程式在這個loop裡面就會跑不完,
大約跑了10張 11張 或是12張,然後就停在那邊,一片空白,也沒錯誤訊息,
有大概猜到跟memory_limit有關,上網去google大家也都是說把memory_limit
設大就好,但是我已經設到3000M了,結果還是一樣
每一張圖都是標準的1024*768 一張大概也才8k多
試了很久都是一樣的結果,不知道有沒有人有遇過相同的問題??
麻煩知道的高手告知我一下哪裡錯了,或是給我個方向
PHP 版本是5.3
GD 1
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.75.169.115
1F:推 sunnyvisit:http://沒加? 07/31 19:47
2F:→ Madevil:你有沒有試過只跑三次迴圈時結果能不能跑出來?? 07/31 20:25
3F:→ finalodyssey:先確定那函式是否存在吧?JPG有版權的不是騙人的! 08/01 08:54
4F:→ finalodyssey:自行編譯的PHP,GD會缺JPG相關函式,可能哪邊有問題 08/01 08:56
5F:→ gto770:三張的時候跑得出來~~所以函數是存在的~~ 08/01 09:18
6F:→ gto770:大家可能沒看懂我的問題~~總共20張照片 他有跑了大概10多張 08/01 09:19
7F:→ Madevil:有看懂呀, 只是先釐清看看是不是真的問題出在記憶體爆掉了 08/01 09:27
8F:→ Madevil:你回圈那寫法換個方式可能過得去, 每加入一張圖就合一次並 08/01 09:30
9F:→ Madevil:imagedestroy 把匯入的圖檔占住的記憶體清出來, 而不是一 08/01 09:31
10F:→ Madevil:口氣讀入 20 張圖檔 08/01 09:32
11F:→ a60301:請檢查php限制執行時間的設定 08/01 12:42
12F:→ gto770:感謝樓上的回答,這的確也是個方法!!我剛剛使用類似這樣 08/01 12:49
13F:→ gto770:方式去跑 就是創造一張image的obj時 然後立刻imagedestroy 08/01 12:50
14F:→ gto770:結果好像還是一樣~~~ 08/01 12:50
15F:→ gto770:a大~~~你簡直是神!!果然是時間的問題 謝謝 我都快哭了= = 08/01 12:53
16F:→ gto770:請受小弟一拜 致上最高敬意!!忘記考時間問題 學習了XD 08/01 12:54
17F:→ Madevil:時間限制到了不是應該會噴錯誤訊息?? 08/01 14:44
18F:推 a60301:display_errors = off 就不會噴了 08/01 16:21
19F:→ a60301:還有是輸出成圖片所以看不到錯誤訊息 08/01 16:21