php读取图片内容并输出到浏览器的实现代码


Posted in PHP onAugust 08, 2013

代码很简单,网上都能找到,但在我机子上就是显示不出来,显示出的一直是这个php文件路径,

费了点时间才搞定,原来是我的<?php这个标签前面有多的空格,删掉就ok了,细节问题,粗心得很,真的很无语。

网上查了下,有这样一说:
如果php以图片,zip,exe等文件输出到浏览器,而前面还输出了其他字符,那就会是你看到的乱码。
应该是输出图片前有输出空格或其他字符造成的,可以检查一下输出图片前有没有其他字符,
如果是utf-8编码记得保存为无BOM的文件。
相关代码如下:

class imgdata{
        public $imgsrc;
        public $imgdata;
        public $imgform;
        public function getdir($source){
                $this->imgsrc  = $source;
        }
        public function img2data(){
                $this->_imgfrom($this->imgsrc);
                return $this->imgdata=fread(fopen($this->imgsrc,'rb'),filesize($this->imgsrc));        
        }
        public function data2img(){
                header("content-type:$this->imgform");
                echo $this->imgdata;
                //echo $this->imgform;
                //imagecreatefromstring($this->imgdata);
        }
        public function _imgfrom($imgsrc){
                $info=getimagesize($imgsrc);
                //var_dump($info);
                return $this->imgform = $info['mime'];
        } 
}
$n = new imgdata;
$n -> getdir("1.jpg");
$n -> img2data();
$n -> data2img();

PHP 相关文章推荐
PHP+MySQL 手工注入语句大全 推荐
Oct 30 PHP
初步介绍PHP扩展开发经验分享
Sep 06 PHP
解析如何去掉CodeIgniter URL中的index.php
Jun 25 PHP
一个经典的PHP验证码类分享
Nov 18 PHP
IIS下PHP的三种配置方式对比
Nov 20 PHP
PHP mysql事务问题实例分析
Jan 18 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
May 13 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
php实现微信公众号企业转账功能
Oct 01 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 PHP
php调用Google translate_tts api实现代码
Aug 07 #PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 #PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 #PHP
对于PHP 5.4 你必须要知道的
Aug 07 #PHP
php缓存技术详细总结
Aug 07 #PHP
IIS6.0中配置php服务全过程解析
Aug 07 #PHP
mcrypt启用 加密以及解密过程详细解析
Aug 07 #PHP
You might like
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
使用apache模块rewrite_module (转)
2007/02/14 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
Python程序中设置HTTP代理
2016/11/06 Python
详解python进行mp3格式判断
2016/12/23 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
django-filter和普通查询的例子
2019/08/12 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
python程序需要编译吗
2020/06/19 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
为什么要有struct关键字
2012/05/08 面试题
护士自我评价
2014/02/01 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
小学推普周活动总结
2015/05/07 职场文书
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python