有沒有辦法來防止PHP GD image library內存不足?如果上傳的圖片太大,GD往往會耗盡內存,終止腳本。我希望它能夠拋出一個可捕獲的異常或其他類似的東西,但事實並非如此。防止GD圖像庫耗盡內存的故障安全方式? (PHP)
現在我使用的是拼湊在一起的腳本,首先發出ini_set('memory_limit', '128M')
,如果工作我通常都集。儘管這可能是不可能的,但根據服務器配置的不同,所以我又回到了一種試圖估算所需內存量(考慮分辨率,顏色深度,通道和模糊因素)的算法,然後將其與如果函數存在,則返回memory_get_usage()
,否則進行粗略估計。
整個事情的工作,到目前爲止,但它優雅的遠,並會在一些邊緣的情況下失敗了,我敢肯定。有沒有更好的方法來做到這一點,即如果GD必須要優雅地失敗,而不是一切都停下來?
大JPEG圖像(非PNG或其他類型的)可以調整負荷的同時,看到這個答案的詳細信息:http://stackoverflow.com/questions/12661/efficient-jpeg-image-resizing- in-php/4613341#4613341 – 2011-01-06 09:43:42