2009-09-27 41 views
1

我的網站的用戶上傳圖像,用作頭像。我已經設置了2 MB的上傳限制大小。在大多數地方,我只需要縮略圖。但用戶上傳圖像的分辨率要高得多。我將這些文件存儲在我的文件系統上。減少用戶頭像的大小? - 創建縮略圖

如何創建縮略圖並將其存儲爲大型文件?

回答

3

根據您的安裝/服務器設置,您有幾種可能性。

我會說,我已經很從來沒有見過沒有GD服務器安裝 - 爲Imagick,它不太可能被默認安裝:-(


另一種解決方案可能是調用convert命令行實用工具(它與ImageMagick的 - independantly的任何PHP擴展)。,使用類似exec叫它

優勢,與,是,你將不會被memory_limit的限制,作爲調整大小當然,這也意味着你的應用程序將依賴於一個外部工具,這並不總是很好...


如果有必要,有很多關於教程的教程GD;例如,那些你可能感興趣的:

3

可以使用GD moduleImageMagick module來調整和收縮,任意上傳的圖片。

如果你谷歌周圍的東西像「PHP圖像調整器」,你會發現很多的例子。我傾向於使用GD,因爲我有一些老舊的代碼可以很好地工作。假設你有$srcImgPath發現已知上傳JPEG圖像,你可以不喜歡以下,其中$newWidth$newHeight是圖像的新的大小你想要的:

list($width, $height, $type) = getimagesize($srcImgPath); 
$srcImg = imagecreatefromjpeg($srcImgPath); 
if ($srcImg === false) return false; 
$workImg = imagecreatetruecolor($newWidth,$newHeight); 
imagecopyresampled($workImg,$srcImg,0,0,0,0,$newWidth,$newHeight,$width,$height); 
imagejpeg($workImg,$newFilename,$quality); 

功能化作爲適當,一定要指定$quality。您也可以很容易地將這些代碼抽象出來處理gif和png。

0

Google AppEngine是不是裝有PIL的子集?有可以使用的'調整大小'功能......並且最重要的是,您可以獲得免費配額!

+1

但我沒有使用Google AppEngine。 –

+0

這只是一個建議......自由週期總是很酷,不是? – jldupont