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

代码很简单,网上都能找到,但在我机子上就是显示不出来,显示出的一直是这个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();

(0)

相关推荐

  • php实现的中秋博饼游戏之掷骰子并输出结果功能详解

    本文实例讲述了php实现的中秋博饼游戏之掷骰子并输出结果功能.分享给大家供大家参考,具体如下: 前面讲述了php实现的中秋博饼游戏之绘制骰子图案功能,纯php实现,就要用php来生成图案,第一步就先绘制骰子图案.下面就是编码实现业务逻辑,具体代码如下: <?php class roll { private $_defRank = 'lk'; public function lottery() { $dice = $this->rollDice(); $format = $this->fo

  • php实现的网页版剪刀石头布游戏示例

    本文实例讲述了php实现的网页版剪刀石头布游戏.分享给大家供大家参考,具体如下: <?php /* * Created on 2016-11-25 * */ if (isset($_POST['sub'])) { $what = $_POST['what']; //需要输入的数组 $my_array = array("剪刀","石头","布"); //获胜规则 $guize = array(array("剪刀",&quo

  • jQuery+PHP实现的掷色子抽奖游戏实例

    本文实例讲述了jQuery+PHP实现的掷色子抽奖游戏详细步骤.分享给大家供大家参考.具体分析如下: 该游戏是以大富翁游戏为背景,综合运用jQuery和PHP知识,设计出以掷色子点数来达成抽奖的效果,当然抽奖概率是可控的,开发者可以将本实例稍作修改即可运用到网站中的抽奖活动场景中.效果图如下: 完整实例代码点击此处本站下载. HTML部分: 首先我们需要准备两粒色子和奖品素材,这些作者已经打包上传了,请大家放心下载.我们将在html页面中写下如下的html结构代码,.wrap用来放置色子和提示信

  • php实现的简易扫雷游戏实例

    本文实例讲述了php实现的简易扫雷游戏.分享给大家供大家参考.具体如下: <?php $init = $_POST["init"];//game restart $clickvalue = $_POST["clickvalue"];//minesweeping $checkflag = 0;//Victory or defeat $click_count = 0;//clicks count if($init == null && $click

  • PHP实现扎金花游戏之大小比赛的方法

    本文实例讲述了PHP实现扎金花游戏之大小比赛的方法.分享给大家供大家参考.具体分析如下: 程序离不开算法,前面讨论过寻路的算法.不过,当时的示例图中,可选的路径是唯一的.我们挑选一个算法,就是说要把这个唯一的路径选出来,怎么选呢? 还记得上初中的时候经常下午放学就躲在路边扎金花来赌*钱,貌似还上瘾了,现在过年的时候还经常一起扎金花赌*钱,但运气不啥好,每次都是输啊. 今天阳光明媚,由于清明节才出去玩了,所以今天没有去哪.闲着没事就想了下怎么用程序实现金花中两幅牌的大小比较,现在把它实现了,有些方

  • php猜单词游戏

    直接复制本地运行就可以了 <?php session_start(); header("Content-type:text/html;charset=utf-"); $url='http://'$_SERVER['HTTP_HOST']$_SERVER['PHP_SELF']; function get_word(){ $wordtext="Redistribution and use in source and binary forms, with or withou

  • php将图片文件转换成二进制输出的方法

    本文实例讲述了php将图片文件转换成二进制输出的方法.分享给大家供大家参考.具体实现方法如下: header( "Content-type: image/jpeg"); $PSize = filesize('1.jpg'); $picturedata = fread(fopen('1.jpg', "r"), $PSize); echo $picturedata; 就这么简单4行代码,就将图片以二进制流的形式输出到客户端了,和打开一张图片没有任何区别. 这里需要注意的

  • php实现贪吃蛇小游戏

    贪吃蛇游戏是经典手机游戏,既简单又耐玩.通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分.在诺基亚时代,风靡整个手机界,今天我们来看看另类的,如何使用php来实现贪吃蛇小游戏 废话不多说,代码奉上: control.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body>  <a href="control.php

  • php实现的中秋博饼游戏之绘制骰子图案功能示例

    本文实例讲述了php实现的中秋博饼游戏之绘制骰子图案功能.分享给大家供大家参考,具体如下: 最近公司中秋博饼(在厦门),自己没事也想玩玩,所以就想动手写了一个纯php实现的中秋博饼游戏,既然要纯php实现,就要用php来生成图案,所以第一步就先绘制骰子图案. 平时很少使用php绘图,不过查查资料还是绘制出来了,不多说了,代码如下: header('Content-Type:image/png'); $img = imagecreatetruecolor(200, 200); $white = i

  • PHP提取数据库内容中的图片地址并循环输出

    复制代码 代码如下: /* 1 (?s) 代表 Pattern.DOTALL,也就是匹配换行,允许 img里出现在多行 2 .*?代表非贪婪匹配任意字符,直到后面的条件出现 3 ?: 代表这个匹配但不被捕获,也就是不在结果出现 [\.gif|\.jpg] 是或者的意思 */ $pattern="/<img.*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/"; $str='<p style=&q

  • PHP使用header()输出图片缓存实例

    本文实例讲述了PHP使用header()输出图片缓存的方法.分享给大家供大家参考.具体分析如下: 在我们生成验证码时会需要直接输入图片,通常会使用到header("Content-type: image/jpeg");来实现,这里就来简单介绍一下. 很多开发中,我们试图使用header("Content-type: image/jpeg");来 输出图片,试图用一些php的图像处理技术,让输出图片更加智能和动感.但我们常常遇到新的问题,除非你规定不同的URL结构,并

随机推荐