(mysql存储文件.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上机实验 6 : 在 MySQL 中存储图片 本节拟将图片 ( 也可以是任何二进制数据 ) 直接保存到数据库中,通过调用数据库,便可以在网页中显示图片了。 在本节中,需要保存到数据库的图象文件是从浏览器所在的客户端上输入的,为在数据库中保存文件,首先需要在“ netsql ”数据库建立一个名为“ imgstore ”的表。表的结构如下: id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY // 文件存储的 id 号 descrp CHAR(50) // 对文件的描述 bindata LONGBLOB // 文件内容(二进制数据) filename CHAR(50) // 文件名称 filesize CHAR(50) // 文件大小 fileiype CHAR(50) // 文件类型 例 6 - 21 的运行过程中是先执行表单的输入,选择输入的文件和对文件的描述,然后再将数据发给 Web 服务器,实际上执行了文件上载和在数据库存储的过程。但是,该网页一般来说要执行两次,第一次是表单输入,第二次发送数据。为实现方便,该程序设计时使用的是“倒装”结构,希望读者加以注意。 【例 6 - 21 】图形数据存储源程序 ( 为方便解释,这里加上了行号,这在实验时无须输入 ) 。 ?? !-- 文件名: pict.php-- ?? HTML ?? HEADTITLE 在 MySQL 中存储图片 /TITLE/HEAD ?? BODY ?? ? ?? @printf (Step0.$submit=.$submit.BR); ?? // 在语句中插入 @ 是为抑制告警信息显示,若读者希望了解 @ 在此的作用,可以在实验时将该符号取消 ?? if(@$submit){ ?? // 如果提交了表单,执行下面代码 ?? $db=mysql_connect(localhost,root,sesame) or die( 数据库联接失败! ); ?? mysql_create_db(netsql); ?? mysql_select_db(netsql); // 通过 PHP 选择当前数据库 netsql ?? $result=mysql_query(select id from imgstore); // 试从数据表取得测试参数 ?? if (!$result) { ?? // 如果 count 表不存在,以下语句将通过 PHP 创建该表 ?? $sql=create table imgstore(id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, descrp CHAR(50),bindata LONGBLOB,filename CHAR(50),filesize CHAR(50),filetype CHAR(50)) or die( 数据表创建失败! ); ?? mysql_query($sql); } ?? $formdata_type=filetype($formdata); // 取得文件类型 ?? $formdata_size=filesize($formdata); // 取得文件的大小 ?? $formdata_name=$formdata; // 将表单传来的文件名传给相应的变量 ?? echo step1.$formdata_type.$formdata_size.$formdata_name.$formdesc.BR; ?? $data = addslashes(fread(fopen($formdata,r), filesize($formdata))); ?? // 为了在 BLOB 字段中存入二进制数据,必须进行“脱敏”处理 ?? // 这里用 addslashes() 将字串中必要的地方加上转义符 / ?? $sql=INSERT INTO imgstore VALUES (NULL, $formdesc, $data, ?? $formdata_name, $formdata_size, $formdata_type) ; ?? echo step2.$sql.BR; ?? $result=mysql_query($sql) or die( 数据插入失败 ); ?? $id= mysql_insert_id(); ?? print pThis file has the following Database ID. b$id/b; ?? mysql_close(); ?? } ?? else { ?? // 否则显示储存数据的表单 ?? ? ?? form

文档评论(0)

xeMRZZFccl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档