再现理想 发表于 2015-2-4 00:21:20

PHP编程:PHP剧本数据库功效详解(2)

会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。剧本|数据|数据库|详解   (作者:王凯波)

  使用PHP将文件保留到数据库
  数据库是数据组织、存储的中间。将要处置的也多是各类数据,包含法式、文件、报表,乃至音频、视频数据。因为经由过程阅读器,团体用户只能填写少局部的团体简历。因而,咱们这里示范用户团体简历上载的功效。其他类型的数据可以仿照此例停止操作。

  起首是信息搜集页面。让用户选摘要上载的文件。此页面的html代码以下:

  〈!-- begin of post.htm--〉

  〈p〉 〈/p〉

  〈form method="POST" action="insert.php" ENCTYPE="multipart/form-data"〉

  〈p〉〈b〉团体简历提交〈/b〉〈/p〉

  〈p〉姓名:〈br〉

  〈input type="text" name="Name" size="20"〉〈/p〉

  〈p〉团体简介:〈br〉

  〈textarea rows="2" name="Intro" cols="20"〉〈/textarea〉〈/p〉

  〈p〉简历文件:〈br〉

  〈input type="file" name="ResuFile"〉〈/p〉

  〈p〉〈input type="submit" value="提交" name="B1"〉〈/p〉

  〈/form〉

  〈!-End of post.htm--〉

  注重,ENCTYPE关头字必定不克不及省,不然文件没法准确上载。

  这里,咱们再把向数据库拔出纪录的代码从头设计:

  〈?

  //begin of file insert.php

  if($ResuFile != "none")

  //肯定用户选择了文件

  {

  $Size = filesize($ResuFile);

  //肯定文件巨细

  $mFileData = addslashes(fread(fopen($ResuFile, "r"), $Size));

  //读取文件,对内容停止处置

  unlink($ResuFile);

  //删除上载一时文件

  }

  $LinkID=@mysql_connect("localhost", "root" , "") or die("不克不及毗连到数据库办事器!多是数据库办事器没有启动,或用户名暗码有误!");

  $DBID = @mysql_select_db("ResumeDB",$LinkID) or die("选择数据库失足,多是您指定的数据库不存在!");

  $query = "insert into Resume(Name,Intro,ResuFile) values('$Name', '$Intro', '$mFileData')";

  $result = @mysql_query("$query",$LinkID); //履行查询,拔出文件到数据库

  if(! $result)

   echo "数据拔出掉败!";

  else

   echo "文件上载胜利!";

  @mysql_close($LinkID);

  //end of file insert.php

  ?〉

  有了下面的基本,写出从数据库读数据的法式应当很复杂了。需求注重的是文件向客户发送的办法。办事器必需向阅读器发送头信息,申明将要发送的数据为word文档。假如用户盘算机装有MSWord,阅读器将主动挪用word停止文档显示。

  咱们可以设置一个超等链接,来下载这个Word文件:

  〈?

  //begin of file show.php

  $LinkID=@mysql_connect("localhost", "root" , "") or die("不克不及毗连到数据库办事器!多是数据库办事器没有启动,或用户名暗码有误!");

  $DBID = @mysql_select_db("ResumeDB",$LinkID) or die("选择数据库失足,多是您指定的数据库不存在!");

  $query = "insert into Resume(Name,Intro,ResuFile) values('$Name', '$Intro', '$mFileData')";

  $result = @mysql_query("$query",$LinkID);

  //履行查询,拔出文件到数据库

  $query= "select ID,Name,Intro from Resume";

  //生成SQL语句

  $result = mysql_query($query,$LinkID); //履行,了局集保留到变量$result中

  $num= mysql_num_rows($result); //获得查询前往的纪录行数

  if($num == 0)

  {

   echo "没有找就任何纪录";

   exit();

  }

  while($row=mysql_fetch_array($result)) //取了局集的下一行数据到数组$row中

  {

   echo $row["ID"]." ".$row["Name"]." ".$row["Intro"]." ";

   echo "〈a href= \"download.php?ID=".$row["ID"]."\"〉检查Word文档〈/a〉〈br〉";

  }

  //end of file show.php

  ?〉

  会见文件show.php,用户看到的是团体扼要信息的列表。点击“检查Word文档”,便可看到对应成员具体的团体简历。

  Word文档的显示是用上面的文件:

  〈?

  // begin of file download.php

  $LinkID=@mysql_connect("localhost", "root" , "") or die("不克不及毗连到数据库办事器!多是数据库办事器没有启动,或用户名暗码有误!");

  $DBID = @mysql_select_db("ResumeDB",$LinkID) or die("选择数据库失足,多是您指定的数据库不存在!");

  $query = "select ResuFile from Resume where ID=$ID";

  //$ID为挪用传递的变量

  $result = @mysql_query("$query",$LinkID);

  //履行查询,从数据库读取文件内容

  if(mysql_num_rows($result) 〈 1 )

  {

   echo "没有找到响应的文件!";

   exit();

  }

  $row = mysql_fetch_array($result);

  $mFileData = $row["ResuFile"];

  //读取团体简历的内容(Word文件格局的数据)

  header("Content-type: application/msword");

  //发送头信息,申明将要发送的数据为word文档

  echo $mFileData;

  //发送文档数据

  //end of file download.php

  ?〉

  至此,咱们已完成了团体简历的提交、数据库存储、信息阅读等功效,根基完成了“人才网信息交换”的框架功效。

  需求申明的是,经由过程PHP停止文件上载及数据库存储是个较凸起的手艺困难。良多关于PHP的网站都不休呈现这类成绩。这些操作,对平台、情况设置依附性较大。分歧的平台设置装备摆设,都能够招致操作的掉败。本文前面附了上述法式的运转平台、编译参数,以供参考。   在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。

再见西城 发表于 2015-2-4 12:27:30

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

简单生活 发表于 2015-2-9 22:35:26

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

因胸联盟 发表于 2015-2-22 15:04:53

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

飘飘悠悠 发表于 2015-2-25 22:01:29

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

若天明 发表于 2015-3-7 18:14:45

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

老尸 发表于 2015-3-15 10:55:14

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

冷月葬花魂 发表于 2015-3-15 10:55:14

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

变相怪杰 发表于 2015-3-16 22:31:39

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

再现理想 发表于 2015-3-19 09:52:14

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

仓酷云 发表于 2015-3-27 15:39:15

实践是检验自己会不会的真理。

爱飞 发表于 2015-4-12 05:59:07

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

透明 发表于 2015-4-15 17:22:38

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

愤怒的大鸟 发表于 2015-4-16 23:34:42

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

第二个灵魂 发表于 2015-5-4 12:47:38

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

莫相离 发表于 2015-5-9 12:36:36

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

谁可相欹 发表于 2015-5-11 20:25:03

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

小魔女 发表于 2015-6-18 13:02:45

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

只想知道 发表于 2015-6-24 21:21:23

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

若相依 发表于 2015-7-8 08:43:01

在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
页: [1]
查看完整版本: PHP编程:PHP剧本数据库功效详解(2)