dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>PHP>php技术资料>文章内容
用PHP和MySQL保存和输出图片
来源:未知     作者:    
 

设置
  我们通常在中所使用的文本或整数类型的字段和需要用来保存图片的字段的不同之处就在于两者所需要保存的数据量不同。使用专门的字段来保存大容量的数据,数据类型为BLOB。
        为BLOB做出的定义如下:BLOB数据类型是一种大型的二进制对象,可以保存可变数量的数据。BLOB具有四种类型,分别是TINYBLOB,BLOB, MEDIUMBLOB 和LONGBLOB,区别在于各自所能够保存的最大数据长度不同。
        在介绍了所需要使用的数据类型之后,我们可以使用以下语句创建保存图象的数据表。
  CREATE TABLE Images ( PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY, Image BLOB );

编写上传脚本
  关于如何实现文件的上传,我们在这里就不再介绍了,感兴趣的读者可以参见“网页陶吧”内的相关文章。现在,我们主要来看一下如何接收上传文件并将其存入到中。具体的脚本代码如下,其中我们假定文件上传域的名称为Picture。

;? If($Picture != "none") { $PSize = filesize($Picture); $mysqlPicture = addslashes(fread(fopen($Picture, "r"), $PSize)); _connect($host,$username,$password) or die("Unable to connect to "); @mysql_select_db($db) or die("Unable to select database"); mysql_query("INSERT INTO Images (Image) VALUES ($Picture)") or die("Cant Perform Query"); } else { echo"You did not upload any picture"; } ;

  这样,我们就可以成功的把图片保存到数据库中。如果在将图片插入MySQL的过程中出现问题,可以检查一下MySQL数据库所允许的最大数据包的大小。如果设置值过小的话,我们会在的错误日志中找到相应的记录。下面,我们简单说明一下上述脚本程序。首先,我们通过“If($Picture != "none")”检查是否有文件被上传。然后,使用addslashes()避免出现数据格式错误。最后,连接,选择并插入图片。

显示图片
  在知道了如何将图? 入数据库之后,我们就需要考虑怎样才能从中取出图片并在HTML页面中显示出来。这个过程要稍微复杂一些,下面我们就来介绍一下实现过程。因为显示图片需要发送相应的标头,所以我们就会面临这样一个问题,那就是一次只能显示一副图片,因为我们无法在发出标头之后再发送其它的标头。

为了有效的解决这一问题,我们编写了两个文件。其中,第一个文件作为HTML页面的模板,定位图片的显示位置。第二个文件则被用来从中实际输出文件流,作为;标签的SRC。

第一个文件的简单形式可以如下:

; ; ;? _connect($host,$username,$password) or die("Unable to connect to "); @mysql_select_db($db) or die("Unable to select database"); $result=mysql_query("SELECT * FROM Images") or die("Cant Perform Query"); While($row=_fetch_object($result)) { echo " SRC=\"Second.3? ;"; } ; ; ;

  当HTML页面被浏览时,每显示一副图片就会调用一次Second.3文件。当第二个文件被调用时会传入相应的Picture ID,我们可以借此从中取回对应的图片并显示。

Second.3文件如下:

;? $result=mysql_query("SELECT * FROM Images WHERE PicNum=$PicNum") or die("Cant perform Query"); $row=_fetch_object($result); Header( "Content-type: image/gif"); echo ; ;

  到此,我们就介绍完了使用和保存和显示图片的全过程。文中所举得都是一些最简单的实例,读者可以根据自己的实际需要加入其它一些功能,使整个程序更加完善。

 

 

上一篇:谈网页编程PHP语言的发展   下一篇:用PHP制作饼图调查表
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·通过对PHP服务器端特性的配置加
·php与mysql三日通
·AJAX技术在PHP开发中的简单应用
·大家所使用的PHP开发环境
·PHP缓存的实现
·针对PHP新手总结的PHP基础知识
·一个简单实现多条件查询的例子
·PHP串行化变量和序列化对象
·PHP表单
·推荐阅读:php技术生成静态页面
·php实用函数
·php生成随机数
  相关文章
·谈网页编程PHP语言的发展
·用PHP制作饼图调查表
·正则表达式使用详解
·PHP中对数据库操作的封装
·如何加速你的PHP程序
·多php服务器实现多session并发运
·浅淡PHP生成HTML的思路
·提升PHP速度全攻略
·Php高手带路--问题汇总解答
·虚拟主机中对PHP的特殊设置
·一个简单的php在线端口扫描器
·PHP和MySQL开发的8个技巧
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763