荟萃馆

位置:首页 > 计算机 > php语言

PHP提取图像文件并在浏览器上显示的代码

php语言2.81W

做过一个项目,要把用户上传的图像文件列出文字清单,当用户点击一个文件名后,就可以显示这个图像.今天有机会重新考虑这个功能,在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();