首页
新闻
UniX技术
数据库
经验交流
PHP
首页
>
PHP
用PHP和MySQL保存和输出图片
时间:2009-04-26 13:49:59 作者:chinaitlab
我要投稿
Linux初探欢迎您的投稿,投放方法请点击
这里
查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
设置数据库 我们通常在数据库中所使用的文本或整数类型的字段和需要用来保存图片的字段的不同之处就在于两者所需要保存的数据量不同。MySQL数据库使用专门的字段......
设置
数据库
我们通常在
数据库
中所使用的文本或整数类型的字段和需要用来保存图片的字段的不同之处就在于两者所需要保存的数据量不同。MySQL
数据库
使用专门的字段来保存大容量的数据,数据类型为BLOB。
MySQL
数据库
为BLOB做出的定义如下:BLOB数据类型是一种大型的二进制对象,可以保存可变数量的数据。BLOB具有四种类型,分别是TINYBLOB,BLOB, MEDIUMBLOB 和LONGBLOB,区别在于各自所能够保存的最大数据长度不同。
在介绍了所需要使用的数据类型之后,我们可以使用以下语句创建保存图象的数据表。
CREATE TABLE Images ( PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY, Image BLOB );
编写上传脚本
关于如何实现文件的上传,我们在这里就不再介绍了,感兴趣的读者可以参见“网页陶吧”内的相关文章。现在,我们主要来看一下如何接收上传文件并将其存入到MySQL
数据库
中。具体的脚本代码如下,其中我们假定文件上传域的名称为Picture。
<?
If($Picture != "none") {
$PSize = filesize($Picture);
$mysqlPicture = addslashes(fread(fopen($Picture, "r"), $PSize));
mysql_connect($host,$username,$password) or die("Unable to connect to SQL server");
@mysql_select_db($db) or die("Unable to select database");
mysql_query("INSERT INTO Images (Image) VALUES ($mysqlPicture)") or die("Cant Perform Query");
}else {
echo"You did not upload any picture";
}
?>
这样,我们就可以成功的把图片保存到
数据库
中。如果在将图片插入MySQL的过程中出现问题,可以检查一下MySQL
数据库
所允许的最大数据包的大小。如果设置值过小的话,我们会在
数据库
的错误日志中找到相应的记录。
下面,我们简单说明一下上述脚本程序。首先,我们通过“If($Picture != "none")”检查是否有文件被上传。然后,使用addslashes()函数避免出现数据格式错误。最后,连接MySQL,选择
数据库
并插入图片。
显示图片
在知道了如何将图? 入
数据库
之后,我们就需要考虑怎样才能从
数据库
中取出图片并在HTML页面中显示出来。这个过程要稍微复杂一些,下面我们就来介绍一下实现过程。
因为PHP显示图片需要发送相应的标头,所以我们就会面临这样一个问题,那就是一次只能显示一副图片,因为我们无法在发出标头之后再发送其它的标头。
1
/
2
1
2
下一页
尾页
如果您需转载 用PHP和MySQL保存和输出图片,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
相关文章
ORA-04031: unable to allocate 4096 bytes
author:skatetime:2009/04/14这篇文章不错,记录一下EXP-00008: ORACLE err
Vmware的SCO5.0.7中安装Oracle流程
1、已安装好操作系统ScoOpenServer5.0.7 Enterprise System; 2、
在Fedora Core里启动VMware Workstation二
我们可以修改一些安装问题的缺省答案,下面介绍一些安装时所必须回答的
php:web编程界的巨无霸 目标直指java.net等
草根出身的PHP语言挑战的对象是Java、.Net这样的大腕。 Zeev这位30岁的以
Sql Server 2008 FileStream如何删除磁盘上
Sql Server 2008 FileStream是Sql Server 2008新引进的功能。它可以把二
For Update 与 For Update of 区别
1 :select * from TTable1 for update 锁定表的所有行,只能读不能写 2 :sele
国家、城市等按照字母排序,但个别城市排在最
在一些站点和客户端程序的下拉框里,选择国家等数据时,大部分都是按照字母顺
查看oracle 某个表的所有字段名称
selectcolumn_namefromuser_tab_columnswheretable_name=upper('这里是
PHP简介
PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就
插入特殊符号的两种方法
--创建一个测试表SQL>create table t(col1 int,col2 varchar(100));--执
MDI子窗口间的数据共享
MDI的子窗口间的数据共享是在设计MDI程序是应当注意的问题。作为MDI程序
改变数据库表结构的一些操作
删除索引: dropindex PK_fsoReplan删除主键:ALTER TABLE fsoreplan dropCO
1130 host xxx.xxx.xx.xx is not allowed t
原因是主机名为xxx.xxx.xx.xx没用相应的用户名,下面两种方法解决问题:1、m
oracle中用户连接相关
查看用户连接断掉某一连接查看连接ip oracle中查看用户连接select usern
避免死循环――第一部分
避免死循环――第一部分 Alexander Kuznetsov原文:http://sqlblog.com/blo
今天简单介绍下:Transact_SQL(初学者必看)
Transact-SQL是一种数据定义、操作和控制语言,是SQL Server中的重要元
栏目热门
PHP程序为什么"不适用"大型系统的9大原因
PHP的GD函数imagettftext()要注意默认字符
精通PHP的十大要点
屏蔽浏览器缓存另类方法
Win2000 Apache MySql PHP4 PERL安装使用小
站内搜索:
Linux
高级搜索
Powered by
Linux初探
© 1999-2009
RSS