仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1109|回复: 19
打印 上一主题 下一主题

[学习教程] PHP编程:PHP剧本数据库功效详解(2)

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:21:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

  使用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框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-25 22:01:29 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
若天明 该用户已被删除
6#
发表于 2015-3-7 18:14:45 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
老尸 该用户已被删除
7#
发表于 2015-3-15 10:55:14 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-15 10:55:14 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
变相怪杰 该用户已被删除
9#
发表于 2015-3-16 22:31:39 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
再现理想 该用户已被删除
10#
 楼主| 发表于 2015-3-19 09:52:14 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
11#
发表于 2015-3-27 15:39:15 | 只看该作者
实践是检验自己会不会的真理。
爱飞 该用户已被删除
12#
发表于 2015-4-12 05:59:07 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
透明 该用户已被删除
13#
发表于 2015-4-15 17:22:38 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
愤怒的大鸟 该用户已被删除
14#
发表于 2015-4-16 23:34:42 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
第二个灵魂 该用户已被删除
15#
发表于 2015-5-4 12:47:38 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
莫相离 该用户已被删除
16#
发表于 2015-5-9 12:36:36 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
谁可相欹 该用户已被删除
17#
发表于 2015-5-11 20:25:03 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
小魔女 该用户已被删除
18#
发表于 2015-6-18 13:02:45 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
只想知道 该用户已被删除
19#
发表于 2015-6-24 21:21:23 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
若相依 该用户已被删除
20#
发表于 2015-7-8 08:43:01 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 03:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表