PHP提取图像文件并在浏览器上显示的代码
做过一个项目,要把用户上传的图像文件列出文字清单,当用户点击一个文件名后,就可以显示这个图像.今天有机会重新考虑这个功能,在php手册中发现几行代码,简洁明快,完全能实现我要的功能,还不需要GD库,就跟随本站小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网!
因为要考虑兼容各种不同的图像格式, 我使用了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();
-
PHP编程中10个最常见的错误
在生活中,好多人疑惑PHP语言难不难呢?那么,小编来解答PHP编程中10个最常见的错误,欢迎来阅读!错误1:foreach循环后留下悬挂指针在foreach循环中,如果我们需要更改迭代的元素或是为了提高效率,运用引用是一个好办法:$arr=array(1,2,3,4);foreach($arras&$value){$val...
-
php内核分析之opcode
在做PHP项目之前首先要对所运用的知识了解,下面是本站小编精心为大家整理的php内核分析之opcode,希望对有需要的人有帮助,更多内容请关注应届毕业生网!这里阅读的php版本为PHP-7.1.0RC3,阅读代码的平台为linux查看opcodephp是先把源码解析成opcode,然后再把opcode传...
-
PHP基础语言方面的笔试题和答案
伴随着Facebook的成功,PHP这门解释型的Web开发语言由于其清晰的定位继续受到非常多的关注,当然对于中小企业和个人来说,Linux+Apache/Nginx+PHP+MySQL几乎不用考虑服务器环境方面的成本;而对于开发者来说,在中小型项目开发中PHP也非常容易上手。以下是本站小编精心...
-
PHP工程师应该掌握的知识结构
作为一名合格的PHP工程师的知识结构是怎样的?下面是本站小编精心为大家整理的PHP工程师应该掌握的知识结构,希望对大家有帮助,更多内容请关注应届毕业生网!一x方面Linux常用命令1.文件处理命令2.权限管理命令3.帮助命令4.文件搜索命令5.压缩解压命令6.命令使用技...