PHP實現(xiàn)提取一個圖像文件并在瀏覽器上顯示的代碼
更新時間:2012年10月06日 20:59:51 作者:
去年做過一個項目,要把用戶上傳的圖像文件列出文字清單,當(dāng)用戶點擊一個文件名后,就可以顯示這個圖像.今天有機(jī)會重新考慮這個功能,在php手冊中發(fā)現(xiàn)幾行代碼,簡潔明快,完全能實現(xiàn)我要的功能,還不需要GD庫
去年做過一個項目,要把用戶上傳的圖像文件列出文字清單,當(dāng)用戶點擊一個文件名后,就可以顯示這個圖像.
因為要考慮兼容各種不同的圖像格式, 我使用了GD庫, 判斷出具體是那種圖像文件(MINE),再調(diào)用相應(yīng)的image生成函數(shù)imagecreatefromXXX(),生成一個img,再將這個img以jpeg格式輸出至瀏覽器,雖然做出來了,但總覺得不滿意.
今天有機(jī)會重新考慮這個功能,在php手冊中發(fā)現(xiàn)幾行代碼,簡潔明快,完全能實現(xiàn)我要的功能,還不需要GD庫
<?php
$size = getimagesize($filename); //獲取mime信息
$fp=fopen($filename, "rb"); //二進(jìn)制方式打開文件
if ($size && $fp) {
header("Content-type: {$size['mime']}");
fpassthru($fp); // 輸出至瀏覽器
exit;
} else {
// error
}
?>
代碼量是我原來的1/10都不到,速度快了N倍.
因為要考慮兼容各種不同的圖像格式, 我使用了GD庫, 判斷出具體是那種圖像文件(MINE),再調(diào)用相應(yīng)的image生成函數(shù)imagecreatefromXXX(),生成一個img,再將這個img以jpeg格式輸出至瀏覽器,雖然做出來了,但總覺得不滿意.
今天有機(jī)會重新考慮這個功能,在php手冊中發(fā)現(xiàn)幾行代碼,簡潔明快,完全能實現(xiàn)我要的功能,還不需要GD庫
復(fù)制代碼 代碼如下:
<?php
$size = getimagesize($filename); //獲取mime信息
$fp=fopen($filename, "rb"); //二進(jìn)制方式打開文件
if ($size && $fp) {
header("Content-type: {$size['mime']}");
fpassthru($fp); // 輸出至瀏覽器
exit;
} else {
// error
}
?>
代碼量是我原來的1/10都不到,速度快了N倍.
您可能感興趣的文章:
- 使用PHP生成二維碼的兩種方法(帶logo圖像)
- php圖像處理函數(shù)大全(推薦收藏)
- PHP輸出圖像imagegif、imagejpeg與imagepng函數(shù)用法分析
- PHP圖片裁剪函數(shù)(保持圖像不變形)
- PHP圖像處理之imagecreate、imagedestroy函數(shù)介紹
- 基于OpenCV的PHP圖像人臉識別技術(shù)
- PHP圖像識別技術(shù)原理與實現(xiàn)
- PHP中繪制圖像的一些函數(shù)總結(jié)
- PHP GD庫生成圖像的幾個函數(shù)總結(jié)
- 解析php常用image圖像函數(shù)集
- PHP基于GD庫的圖像處理方法小結(jié)
- php實現(xiàn)的證件照換底色功能示例【人像摳圖/換背景圖】
相關(guān)文章
Yii 使用intervention/image拓展實現(xiàn)圖像處理功能
這篇文章主要介紹了Yii 使用intervention/image拓展實現(xiàn)圖像處理功能,需要的朋友可以參考下2019-06-06
通過JavaScript或PHP檢測Android設(shè)備的代碼
在此列出一些能夠在iOS的最大競爭者——安卓(Android)系統(tǒng)的檢測方法。即通過JavaScript或PHP檢測Android設(shè)備,給大家提供參考。2011-03-03
PHP7擴(kuò)展開發(fā)教程之Hello World實現(xiàn)方法示例
這篇文章主要介紹了PHP7擴(kuò)展開發(fā)教程之Hello World實現(xiàn)方法,結(jié)合實例形式較為詳細(xì)的分析了針對php7擴(kuò)展的源碼下載、設(shè)置、代碼編輯及測試運行相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
深入講解PHP的對象注入(Object Injection)
這篇文章主要介紹了PHP中對象注入的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03
PHP回調(diào)函數(shù)與匿名函數(shù)實例詳解
這篇文章主要介紹了PHP回調(diào)函數(shù)與匿名函數(shù),結(jié)合實例形式分析了php回調(diào)函數(shù)與匿名函數(shù)的具體功能、用法及相關(guān)注意事項,需要的朋友可以參考下2017-08-08
php去掉URL網(wǎng)址中帶有PHPSESSID的配置方法
這篇文章主要介紹了php開發(fā)的網(wǎng)站網(wǎng)址中帶有PHPSESSID的解決辦法,也就是把PHP的跨頁傳遞SESSION選擇在php.ini中關(guān)閉,這樣這個參數(shù)就不會出現(xiàn)在URL中了,需要的朋友可以參考下2014-07-07

