- 相關(guān)推薦
PHP提取圖像文件并在瀏覽器上顯示的代碼
做過(guò)一個(gè)項目,要把用戶(hù)上傳的圖像文件列出文字清單,當用戶(hù)點(diǎn)擊一個(gè)文件名后,就可以顯示這個(gè)圖像.今天有機會(huì )重新考慮這個(gè)功能,在php手冊中發(fā)現幾行代碼,簡(jiǎn)潔明快,完全能實(shí)現我要的功能,還不需要GD庫,就跟隨百分網(wǎng)小編一起去了解下吧,想了解更多相關(guān)信息請持續關(guān)注我們應屆畢業(yè)生考試網(wǎng)!
因為要考慮兼容各種不同的圖像格式, 我使用了GD庫, 判斷出具體是那種圖像文件(MINE),再調用相應的image生成函數imagecreatefromXXX(),生成一個(gè)img,再將這個(gè)img以jpeg格式輸出至瀏覽器,雖然做出來(lái)了,但總覺(jué)得不滿(mǎn)意.
今天有機會(huì )重新考慮這個(gè)功能,在php手冊中發(fā)現幾行代碼,簡(jiǎn)潔明快,完全能實(shí)現我要的功能,還不需要GD庫
復制代碼 代碼如下:
<?php
$size = getimagesize($filename); //獲取mime信息
$fp=fopen($filename, "rb"); //二進(jìn)制方式打開(kāi)文件
if ($size && $fp) {
header("Content-type: {$size['mime']}");
fpassthru($fp); // 輸出至瀏覽器
exit;
} else {
// error
}
?>
代碼量是我原來(lái)的1/10都不到,速度快了N倍.
【拓展閱讀】
php初始化對象和析構函數的簡(jiǎn)單實(shí)例
代碼如下:
<?php
/**********************************************
* __construct 對象初始化函數使用
* destruct 析構函數的使用
* $this 關(guān)鍵字的使用($this關(guān)鍵字是用來(lái)訪(fǎng)問(wèn)當前對象中的對象屬性和對象 * 方法的.系統變量)
*
**********************************************/
header("Content-Type:text/html;charset=UTF-8");
class mypc{
public $name;
public $type;
function __construct($name='',$type=''){ //初始化對象,將初始化值放在括號內
$this->name=$name;
$this->type=$type;
}
function vod(){
return $this->name.$this->type.'播放電影';
}
function game(){
return $this->name.$this->type.'玩游戲';
}
/************************
* 當對象內部的操作執行完畢的時(shí)候,
* __destruct()被調用,
* 然后對象所使用的內存被釋放出來(lái)。規則:后進(jìn)先出
**************************/
function __destruct(){
echo "<br>==============".$this->name;
}
}
$pc1 = new mypc('家用電腦','臺式機');
echo $pc1->vod()."<br>";
//當$pc1=null;的時(shí)候是當前實(shí)例操作完成后直接釋放出對象
$pic2 = new mypc('公司電腦','筆記本');
echo $pic2->game();
【PHP提取圖像文件并在瀏覽器上顯示的代碼】相關(guān)文章:
PHP判斷瀏覽器、判斷語(yǔ)言代碼06-01
如何利用PHP代碼在網(wǎng)頁(yè)上生成圖片10-12
PHP代碼優(yōu)化技巧09-10
PHP實(shí)用的代碼實(shí)例08-12
php分頁(yè)類(lèi)代碼09-08
PHP調用的C代碼08-05
PHP代碼運行流程08-14
PHP代碼如何規范08-28
php語(yǔ)言字典代碼06-08