當前位置:才華齋>計算機>php語言>

PHP提取影象檔案並在瀏覽器上顯示的程式碼

php語言 閱讀(2.7W)

做過一個專案,要把使用者上傳的影象檔案列出文字清單,當用戶點選一個檔名後,就可以顯示這個影象.今天有機會重新考慮這個功能,在php手冊中發現幾行程式碼,簡潔明快,完全能實現我要的功能,還不需要GD庫,就跟隨本站小編一起去了解下吧,想了解更多相關資訊請持續關注我們應屆畢業生考試網!

PHP提取影象檔案並在瀏覽器上顯示的程式碼

因為要考慮相容各種不同的影象格式, 我使用了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倍.

  【拓展閱讀】

  php初始化物件和解構函式的簡單例項

程式碼如下:

<?php

/**********************************************

* __construct 物件初始化函式使用

* destruct 解構函式的使用

* $this 關鍵字的使用($this關鍵字是用來訪問當前物件中的物件屬性和物件 * 方法的系統變數)

*

**********************************************/

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.'玩遊戲';

}

/************************

* 當物件內部的操作執行完畢的時候,

* __destruct()被呼叫,

* 然後物件所使用的記憶體被釋放出來。規則:後進先出

**************************/

function __destruct(){

echo "<br>==============".$this->name;

}

}

$pc1 = new mypc('家用電腦','桌上型電腦');

echo $pc1->vod()."<br>";

//當$pc1=null;的時候是當前例項操作完成後直接釋放出物件

$pic2 = new mypc('公司電腦','筆記本');

echo $pic2->game();