去年做過一個項目,要把用戶上傳的圖像文件列出文字清單,當用戶點擊一個文件名後,就可以顯示這個圖像.
因為要考慮兼容各種不同的圖像格式, 我使用了GD庫, 判斷出具體是那種圖像文件(MINE),再調用相應的image生成函數imagecreatefromXXX(),生成一個img,再將這個img以jpeg格式輸出至浏覽器,雖然做出來了,但總覺得不滿意.
今天有機會重新考慮這個功能,在php手冊中發現幾行代碼,簡潔明快,完全能實現我要的功能,還不需要GD庫
復制代碼 代碼如下:
<?php
$size = getimagesize($filename); //獲取mime信息
$fp=fopen($filename, "rb"); //二進制方式打開文件
if ($size && $fp) {
header("Content-type: {$size['mime']}");
fpassthru($fp); // 輸出至浏覽器
exit;
} else {
// error
}
?>
代碼量是我原來的1/10都不到,速度快了N倍.