无处不在的PHP

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:lidenglu1114
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在没有告诉你PHP是什么之前,你会想到什么?它到底是什么东西?它对你有什么影响?你知道PHP吗?
  我想很多人都会听说过,或者看到过。其实,你就算不知道什么是PHP,每天在网上都会和PHP打交道!
  现在,我就让你感受PHP的无所不在,进而跨入PHP的神奇世界!
  
  我们先使出一招PHP的独门秘笈,看看PHP在哪里。请访问下面列出的网址,你将会看到这样的图片(见图1)。
  


  百度:“百度—全球最大中文搜索引擎”
  http://baidu.com/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
  搜狐:“读书连载—SOHU网站”
  http://lz.book.sohu.com/slist.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
  网易:“试题库—网易教育”
  http://channel.163.com/education/marknew/search.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
  新浪:“书库—读书频道—新浪网”
  http://bookreg.sina.com.cn/search/book_result.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
  CFAN:“电脑爱好者论坛”
  http://bbs.cfan.com.cn/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
  你可以看到,不仅仅我们《电脑爱好者》的论坛使用了PHP,而且这些门户站点,也一样使用了PHP。
  那么,到底有多少站点在使用PHP呢?
  美国有线电视新闻网(CNN)援引专业统计数据报道说,截至2006年10月底,全球互联网网站数量已经突破1亿。从Netcraft的调查,我们可以得知,使用PHP的站点,已经超过了千万,也就是说,每5个站点,就有一个用PHP(见图2)。
  


  现在你知道了,PHP是无所不在的,难怪有人说:PHP有可能成为21世纪的电脑编程语言。
  你也许已经迫不及待地问:我已经知道PHP是无所不在的,那么,PHP到底是什么呢?
  PHP(Hypertext Preprocessor,超文本预处理器),是一种被广泛使用的开放源代码多用途脚本语言,尤其适用于WEB开发,可嵌入到HTML中。语法利用了C、Java和Perl,非常容易学习。该语言的主要目标是让WEB开发人员可以很快写出动态生成的网页,但PHP的功能远不止如此。
  使用PHP的一大好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性。当看到PHP长长的特性列表时,请不要害怕,可以很快地入门,只需几个小时就可以自己写一些简单的脚本。如果你有一定的C语言基础,你可以立刻上手,马上使用。
  下面,我们将带你走入PHP的神奇世界。
  
  PHP它能做些什么?
  
  PHP能做任何事,但它主要是用于服务端的脚本程序,因此可以用PHP来完成任何其他的程序能够完成的工作,但PHP的功能远不局限于此。
  ①服务端脚本。这也是大家最常见的方式,大家访问的PHP站点都是这样的,有WEB服务器,在上面安装好PHP解析器(你可以简单地理解为应用程序),然后我们再通过IE等浏览器去访问站点,进行各种应用。
  ②命令行脚本。可以编写一段PHP脚本,并且不需要任何服务器或者浏览器来运行它。这种方式,仅需要PHP解析器来执行。
  ③编写桌面应用程序。对于有着图形界面的桌面应用程序来说,PHP或许不是一种最好的语言,但是如果用户非常精通PHP,并且希望在客户端应用程序中使用PHP的一些高级特性,也可以使用PHP。
  
  高手传经:学习PHP重在坚持
  
  相信大家选择一种语言,更重要的是看它的实用性,华而不实的语言哪怕是再辉煌的历史,也必将步向没落,可喜的是PHP经受住了考验,它确实是一种值得学习的语言。
  我总结的学习PHP的进程可能需要经历下面这几个阶段:①熟悉HTML/CSS/JS等网页基本元素,完成此阶段可自行制作完整的网页;②理解动态语言的概念,运作机制,熟悉PHP语法;③学习如何将PHP与HTML结合起来完成简单动态页面;④接触MYSQL,开始设计数据库程序;⑤不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板;⑥完成一个功能齐全的动态站点。
  可以看到,学习PHP是一个循序渐进的学习过程,只要坚持,坚持,再坚持,最终总会成功。
  首先,理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。由于版面关系,这部分的基础知识,大家可以通过其他方式学习,比如http://www.enet.com.cn/eschool/zhuanti/easyhtml/。
  对于PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限地照顾新手了,如果你学过其他语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。
  书过三遍自然熟,这个简单的道理告诉我们,即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍地看,同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干吗的,但是起码你应该找找感觉。
  在搞清楚HTML和PHP的概念后,PHP和HTML的混合编程对于你应该不成问题了。在这期间,你完全可以让PHP给你算算1+1等于几,然后在浏览器输出,不要觉得幼稚,这的确是跟阿波罗登月一样,你打的是一小段代码,但是对于你的编程之路,可是迈出了一大步啊。
  接下来就是学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞了,因为这一行一列的东东简直让人头晕目眩。
  在一番搏斗之后,你终于理解了数据库的概念,并学会了用PHP成功地插入、删除、更新数据的时候,显然,你已经距离成功指日可待了。
  这个时候的你也许是这种状态:
  你会HTML吗?会,我能编好几个大表格排的网页啦!
  你会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!
  你会MYSQL吗?会,我会把我的信息在数据库里插入删除啦!
  那,接下来你该怎么做呢?我觉得,小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊。同是新手面临的第一道关。
  花了一段时间,你终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。有条件的话,记得买本书来参考—《PHP+MYSQL WEB开发(第三版)》号称“圣经级”。
  巩固了自己的知识,熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?这个时候,你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?终于可以在网上宣传了!
  几天之后你再打开留言本,哎?哇,一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小地耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!
  你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。接下来你还有XML、AJAX等等需要学习的知识……
  啰嗦这么多,希望你还要记住一点,不可能有那种一周速成的可能!但是有一点可以给你保证就是,你学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。另外,多看那些经过千锤百炼出来的经典代码,是进阶的最好方法。
  而我们要做的就是将你领进PHP的大门。
  
  PHP运行环境的搭建
  
  我们已经知道了PHP是什么,下面,我们就要开始学习PHP了。
  首先,我们需要建立一个运行PHP的环境。在这里,我们使用的是WAPM,她帮我们把PHP都安装配置好了,解压就可直接使用,简单方便。
  访问:http://www.wapm.cn/htm_data/50/0607/1240.html,下载文件“WAPM_2.0.5RC1.rar”。
  下载完成以后,将“WAPM_2.0.5RC1.rar”拷贝到D:盘根目录,然后解压到当前目录(见图3)。
  


  然后进入解压后的“usr”目录,点击“WAPM”,打开WAPM的管理窗口(见图4)。
  按照WAPM的管理窗口提示,因为我们是第一次使用,所以输入1,然后回车,进行安装(见图5)。
  安装完成之后,会提示是否“现在启动WAPM?”,按回车,将启动WAPM;启动成功后按回车,打开WAPM测试页面查看系统状态。
  


  安装过程之中,如果出现“Windows 安全警报”提示框,点击“解除阻止”,使得WAPM可以正常使用(见图6)。
  如果你看到了“恭喜您成功安装WAPM”,那么我们的PHP运行环境就建立好了。
  
  与PHP的第一次亲密接触
  
  赶快写你的第一个PHP程序来测试一下子吧。
  打开记事本,输入如下代码,然后保存到D:\usr\local\www\data\test.php。注意保存类型选所有文件(见图7)。
  <?php echo date("Y-m-d H:i:s");?>
  


  然后访问http://127.0.0.1/test.php,页面上将显示当前的时间(见图8)。
  你的第一个PHP程序已经可以运行了,想要在你的网页里面显示当前时间,仅仅需要上面的一行PHP代码这么简单。还有一个更加简单而有名的测试程序,<?php phpinfo;?>,将可以显示你当前使用的PHP的系统信息。想要编写PHP程序,可以使用任何喜欢的文本编辑器或者网页制作软件,记事本、DreamWeaver或者FrontPage都可以。我常用的PHP编辑工具,可以从http://bbs.chinaunix.net/viewthread.php?tid=627339下载到。
  
  学习PHP所必须了解的知识
  
  现在,你的PHP运行环境已经建立好了,第一个PHP程序也运行了,我们就要开始学习些PHP的基础知识,为我们编写PHP程序打基础。
  从前面,你可以看到,原来PHP的代码,是在<?php和?>之间输入的。这就是PHP标识符。
  用“<?php”来表示PHP标识符的起始,然后放入PHP语句并通过加上一个终止标识符“?>”来退出PHP模式。
  为什么需要PHP标识符呢?
  原来,我们的PHP可以直接写在网页文件之中,和HTML代码混合在一起;一个普通的HTML文件,加上了几个特别的标签,就可以做很多非常有趣的事情。
  打开编辑器,输入如下代码,然后保存到D:\usr\local\www\data\testhtml.php。注意保存类型选择所有文件(见图9)。
  


  
  
  
   我的PHP程序
  
  
  
  

我的PHP程序


  <?php echo date("Y-m-d H:i:s");?>
  
  
  
  然后访问http://127.0.0.1/testhtml.php,HTML效果将显示,同时还显示了PHP输出的当前的时间(见图10)。
  


  你还会注意到一点,我们的PHP程序,在保存的时候,文件名称扩展名都是PHP,这表示该文件是一个PHP程序或者包含了PHP代码的文件,WEB服务器将会调用PHP来处理其中的代码。
  现在我们知道了,一个PHP程序,文件名称扩展名为PHP,其中的PHP代码输入在<?php和?>之间。
  PHP和其他大部分语言一样,都有一些通用的语言规则,下面我将做简单介绍。如果需要进一步地了解PHP的语言规则,可以查看PHP的手册。
  PHP中的常见数据类型有布尔型、整数、浮点数、字符串、数组等,分别用来存放所需要的信息,下面就是一个典型的数据类型定义代码(“//”后为注释内容,不必输入)。
  
  <?php
  $a = true;//布尔型,true表示成立
  $b = 1234;//整数
  $c = 1.23;//浮点数
  $d = "test";//字符串
  $e = array(1,2,3,4);//数组,array()表示这是一个数组
  ?>
  
  上面的数据类型,你看到了$符号,我们用这个符号来表示一个PHP的变量。如果要把信息存放在变量之中,使用=就可以了。
  变量可以用在表达式之中做运算,例如常见的四则运算(+、-、*、/)、比较(>、>=、<、<=、==、!=)等等。
  
  <?php
  $a = true;// 布尔型,true表示成立
  $b = 1234;// 整数
  $c = 1.23;// 浮点数
  $d = "test";// 字符串
  $e = array(1,2,3,4);// 数组,array()表示这是一个数组
  $aa = $a;// $aa与$a的信息相同了
  $bb = $b + 50000;// $bb为51234(1234+50000)
  $cc = $c * 100 / 10 - 2;// $cc为10.3
  ?>
  
  比较运算,一般用于流程控制,告诉我们的程序在比较之后做什么。
  常用的流程控制为if,表示条件比较成立就执行;和if配套的流程控制还包括else(不成立就执行)、elseif(不成立之后再判断新的条件)。
  
  <?php
  $a = true;// 布尔型,true表示成立
  if ($a)
  {
  $b = 1234;// 因为$a为成立,所以$b的结果为1234;
  }
  
  if ($b<100)
  {
  $c = 56;// 因为$b<100不成立,所以这里不会执行
  }
  else
  {
  $c = 789;// 因为$b<100不成立,所以这里将执行,$c的结果为789
  }
  
  if ($c<100)
  {
  $e = "one";// 因为$c<100不成立,所以这里不会执行
  }
  elseif ($c<1000)
  {
  $e = "two";// 因为$c<1000成立,所以这里将执行,$e的结果为two
  }
  else
  {
  $e = "three";// 因为前一次elseif已经执行,所以这里不会执行
  }
  ?>
  有了流程控制,我们可以做很多事情。例如在页面上输入一个数值,我们可以判断这个数值的大小,然后提示输入的数值大了还是小了,这一点在随后的猜大小游戏之中将会使用到。
  另外一个非常有用的流程控制是for循环,常用来做一些重复的操作,其用法如下:
  
  <?php
  $e = array(1,2,3,4,5);// 数组,array()表示这是一个数组
  $max = count($e);// count表示计算一个数组有多少个数据,此处,$max结果为5
  for($i=0;$i<$max;$i=$i+1)
  {
  echo $e[$i];// 数组的数据下标从0开始,$e[0]表示第1个数据,$e[$i]则根据$i的值自动取得。
  }
  ?>
  
  执行该代码,将会从依次显示数组的内容。
  以上的基本语言规则,我只做了简单介绍,希望你可以多多查看PHP的手册,进行细致的全面的了解和学习;万丈高楼平地起,只有基础打好了,才能编出一手好程序!要查看PHP的基本语言规则,可以访问http://cn.php.net/manual/zh/langref.php。
  难倒PHP就是这些东西么?前面我说过:数以万计的人夜以继日地为PHP开发不同的功能,让PHP可以为我们做任何事情。他们为PHP开发的功能,一般使用函数的方式提供给我们使用。正是因为有了这些函数,我们可以处理纷繁复杂的事情,例如文本操作、图像操作、数据库操作等等。
  在我们前面演示的代码之中,已经使用了部分函数echo、date、count。echo用于输出数据并显示,date用于计算日期时间,count用于计算数组的数值个数。
  不同的函数为我们提供了不同的功能,处理不同的事情。因为PHP的功能非常强大,所以函数非常多,可以访问http://cn.php.net/manual/zh/funcref.php查看最新的函数列表。新的功能还在不断开发之中,往往今天还不能处理的事情,一天之后就可以轻松完成了。如果熟悉了PHP,你也一样可以开发新的功能,并且提供给大家使用。
  
  PHP和我猜数字
  
  前面介绍了PHP的一些基本语言规则,现在,我们就要用一个猜数游戏程序,来告诉大家PHP程序具体是怎么做的。
  猜数游戏程序规则:
  ◇想好一个100以内的整数,然后让对方猜数;
  ◇如果对方猜大或者猜小了提示对方;
  ◇在8次以内猜对有效。
  在开始这个猜数游戏程序之前,要先要学习一些知识:
  ①$_REQUEST:表示在页面输入数据的一个数组;
  ②$_SESSION:在猜数过程之中,我们需要记住每次的猜数,使用$_SESSION这个数组来记住;
  ③session_start():这个函数告诉我们,要使用$_SESSION啦;
  ④isset(变量):这个函数告诉我们,变量有没有设置;
  ⑤is_numeric(变量):这个函数告诉我们,输入的变量是不是一个数值;
  ⑥array_push(数组,变量):这个函数把变量的值存放到数组之中;
  ⑦rand(小数值,大数值):这个函数用于生成一个在小数值和大数值之间的随机整数;
  ⑧exit():退出程序。
  以上知识的具体内容,可以查看PHP手册来详细了解,在这里,我们只要知道他们的基本作用就可以了。
  首先是设置一个表单,让猜数者输入所猜的数,表单可以使用网页制作软件设计制作,其HTML代码如下:
  
  

  
  
  

  
  其中,我们的猜数游戏程序是guess.php,猜数输入框名称为input,点击“我猜”按钮就可以提交。提交之后,所猜的数,将自动保存在$_REQUEST['input']之中,以方便我们的程序进行处理。
  猜数游戏程序的流程如下:
  ①计算机产生一个随机数,并记录这个随机数,然后提示开始猜数;
  ②猜数者输入数值,提交给程序;
  ③程序记录输入的数值,并判断输入数值是否等于①中产生的随机数,如果相等,则设置猜数正确标志为成立;
  ④循环显示已经记录的猜数过程的数值,并显示猜数的结果;
  ⑤如果③的猜数正确标志为成立,则提示猜数成功,并准备下一次猜数;否则执行⑥;
  ⑥如果③的猜数正确标志不成立,则判断猜数是否达到8次,如果达到8次,则提示猜数失败,并准备下一次猜数;否则执行⑦;
  ⑦如果输入的数据不是数值,则提示用户输入数值;否则执行⑧;
  ⑧继续等待下一步输入,如果输入则执行②。
  猜数游戏程序的代码解释如下:
  
  <?php
  session_start();// 开始使用$_SESSION啦
  if(isset($_REQUEST['input']) && isset($_SESSION['number'])) // 如果猜数了,并且计算机想好了数
  {
  $flag = false;// 首先让是否猜中的标志为不成立
  if(is_numeric($_REQUEST['input']))// 如果输入的是数字就执行下面的代码
  {
  array_push($_SESSION['process'],$_REQUEST['input']);// 把这次猜的数存放到$_SESSION['process']之中
  if($_REQUEST['input']==$_SESSION['number'])
  {
  $flag = true;// 如果输入的数组和计算机想好的数字一样,则记住猜中了标志为成立
  }
  }
  $max = count($_SESSION['process']); // 现在已经猜的次数,就是$_SESSION['process']之中存放的数据个数
  for($i=0; $i<$max; $i++) // 循环显示每次所猜的结果是猜对了,还是猜大了或者猜小了
  {
  $input_number = $_SESSION['process'][$i]; // 取出每次猜的数
  $step = $i + 1; // 因为数组从0开始,而通常顺序从1开始,所以需要加一来显示
  if($input_number==$_SESSION['number'])
  {
  echo "第 $step 次, $input_number 猜对了
";
  }
  elseif($input_number>$_SESSION['number'])
  {
  echo "第 $step 次, $input_number 猜大了
";
  }
  else
  {
  echo "第 $step 次, $input_number 猜小了
";
  }
  }
  if($flag) // 如果前面猜中了,则执行下面的代码
  {
  echo "猜对了,你用了 $max 次
我要再来一次";
  $_SESSION = null; // 猜中以后,将本次猜数的过程清楚,准备下一次猜数
  exit; // 退出程序
  }
  else if($max>=8)
  {
  echo "你猜了 $max 次,但是没有猜对,我想的是 {$_SESSION['number']} 。
我要再来一次";
  $_SESSION = null; // 猜完8次以后,将本次猜数的过程清楚,准备下一次猜数
  exit; // 退出程序
  }
  elseif(!is_numeric($_REQUEST['input']))
  {
  echo "请输入0~100内的整数"; // 如果输入的不是数值,提示输入数值
  }
  }
  else // 如果没有猜数了,则计算机会自己想一个数,然后让你猜
  {
  $number = rand(1,100); // 计算机自己想一个在1到100之间的整数
  $_SESSION['number'] = $number; // 用$_SESSION['number']把想好的数记住
  $_SESSION['process'] = array(); // 清空猜数记录数组
  echo "猜数:我已经想好了,你可以开始猜了(0~100内的整数),猜大猜小我会提示你,只有八次机会哦。
";
  }
  ?>
  

  
  
  

  
  将以上代码直接拷贝到编辑器,并保存到D:\usr\local\www\data\guess.php,然后访问http://127.0.0.1/guess.php,就可玩这个游戏了。
  从这个猜数游戏程序之中,我们可以了解到,编写一个PHP程序的基本流程:首先根据需求,列出程序的流程,然后根据流程写出程序。
  
  用PHP揭秘“显IP的论坛签名”
  
  在理解了前面的例子后,在文章结束前,我们再来个大揭秘—可以显示IP地址的签名图片制作方法,同时初步了解函数的使用方法。
  下面,我们使用PHP提供的数据库函数和图片处理函数,来实现一个IP签名图片程序。
  我们要实现的IP签名图片程序流程如下:
  ①记录当前图片访问者的IP地址,当前时间;
  ②连接数据库,查询当前IP的记录是否存在;
  ③如果②存在,则取出当前IP的序号,第一次访问的时间,上一次的访问时间,访问的次数,并更新访问次数;
  ④如果②不存在,则记录当前IP;
  ⑤使用图像函数,显示序号,当前IP,访问次数,第一次访问时间,上一次访问时间,当前时间。
  因为在这个程序之中,我们使用了数据库来记录IP信息,所以,首先我们需要设置一下数据库。
  访问http://127.0.0.1/点击“数据库管理”,进入数据库管理系统,然后按照以如图11~图14所示步骤建立数据库和数据表即可。
  IP签名图片程序代码解释如下:
  


  


  <?php
  $ip = $_SERVER["REMOTE_ADDR"];// $_SERVER["REMOTE_ADDR"]表示当前访问者的IP
  $nowtime = date("Y-m-d H:i:s"); // 当前的时间
  
  $link = mysql_connect("localhost","root","123456"); // 连接本地数据库,用户为root,密码为123456
  $flag = mysql_select_db('phpzt'); // 选择我们使用的phpzt数据库
  $result = mysql_query("SELECT * FROM ip WHERE ip='$ip'"); // 查询当前IP在数据库的信息
  $row = mysql_fetch_array($result); // 读取上一步的查询结果
  if($row) // 如果查询到当前IP的信息,则执行以下代码
  {
  $id = $row['id']; // 读取当前IP的序号
  $count = $row['count'] + 1; // 读取当前IP的访问次数并加1表示这次的访问次数
  $firsttime = $row['firsttime']; // 读取第一次的访问时间
  $lasttime = $row['lasttime']; // 读取上一次的访问时间
  mysql_query("UPDATE ip SET count=count+1,lasttime=NOW() WHERE ip='$ip'"); // 更新访问次数
  }
  else // 如果没有查询到当前IP的信息,则执行以下代码
  {
  mysql_query("INSERT INTO ip VALUES (NULL,'$ip','1',NOW(),NOW())"); // 将当前IP记录到数据库
  $id = mysql_insert_id(); // 读取当前IP的序号
  $count = 1; // 因为第一次访问,所以访问次数为1
  $firsttime = date("Y-m-d H:i:s"); // 设置当前时间
  $lasttime = date("Y-m-d H:i:s"); // 设置上一次访问时间
  }
  mysql_close($link); // 关闭数据库连接
  
  $width = 200; // IP签名图片的大小为200*30
  $height = 60;
  $size = 3; // 使用的字体的3号字体
  $im = @imagecreate($width, $height); // 创建一个新的图像
  $white = imagecolorallocate($im, 255, 255, 255); // 设置背景颜色白色RGB(255,255,255)
  $color = imagecolorallocate($im, rand(50,250), rand(50,250), rand(50,250)); // 设置文字颜色随机生成
  imagefill($im,0,0,$white); // 使用白色填充图片作为背景颜色
  imagestring($im, $size, 10,3,"ID: $idCount: $count",$color);//在坐标位10,3的位置显示
  imagestring($im, $size, 10, 13,"IP: $ip", $color);//在坐标位10,13的位置显示
  imagestring($im, $size, 10, 23,"First: $firsttime", $color);//在坐标位10,23的位置显示
  imagestring($im, $size, 10, 33,"Last : $lasttime", $color);//在坐标位10,33的位置显示
  imagestring($im, $size, 10, 43,"Now: $nowtime", $color);//在坐标位10,43的位置显示
  header("Content-type: image/png"); // 输出图片头信息,表示我们要显示图片了
  imagepng($im); // 输出图片并显示
  imagedestroy($im); // 图片显示完了,我们就要销毁这个图片了,以备下一次处理了
  ?>
  
  将以上代码直接拷贝到编辑器,并保存到D:\usr\local\www\data\ip.php,然后访问http://127.0.0.1/ip.php,就可以看到效果了。如果你的电脑是在局域网之中,你可以从其他的电脑访问http://你的IP地址,也可以看到当前IP的签名图片了;如果你在网上申请了免费的PHP空间,也可以按照你的空间的实际情况设置数据库,就可以在论坛的个人签名之中使用IP签名图片了(见图15)。
  


  文中所有程序代码,可从http://work.newhua.com/cfan/200623/ysdm.rar处下载到。
  
  你的PHP未来之路
  
  上面的两个例子,展示了PHP的一些功能,当然,这些只是PHP强大功能之中的很小很小的一部分;如果需要充分掌握并使用PHP的强大功能,还需要不断的学习。
  另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学,也得学会了PHP。然后再学,见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和精力得不偿失,最重要的是,你会被别人瞧不起,没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。
  其实无论是PHP还是其他,不学则已,学就要搞出个名堂来。记住多看,多学,多编,坚持到最后就能成功。
  最后再推荐几个不错的PHP站点,以方便继续学习:
  PHP官方网站 http://www.php.net/
  PHP中文手册 http://cn.php.net/manual/zh/
  PHP交流社区 http://bbs.chinaunix.net/forumdisplay.php?fid=27
  WAPM交流社区 http://www.wapm.cn/
  
  如果你有兴趣继续往PHP方面发展,再推荐你一本杂志—《PHPer》,它是一份面向PHP开发者、程序员(PHPer)和关注PHP应用的专业技术电子杂志。是由PHPChina网站会员发起,由PHPChina官方组织创办,无论是内容采编、发行运作,均根源于与PHP相应的开放共享理念,是中国第一本真正意义上的开源电子杂志,也是第一本专注PHP的网上刊物。杂志将于2006年12月正式创刊发行,对广大的PHPer免费发送。你可以从http://www.phpchina.com上下载到。
其他文献
摘要:目的:观察美托洛尔治疗慢性心力衰竭的临床疗效,总结体会,提出改善方法。方法:回顾性分析我院收治的68例心功能分级Ⅱ-Ⅳ级的慢性心力衰竭患者,观察美托洛尔治疗法对患者心功能指标,左室舒张末内径和左室射血分数、心率,6min步行试验的影响。结果:美托洛尔治疗总有效率为88.3%;患者心率得到有效的减慢,6min步行试验结果相对乐观。结论:在常规治疗基础上使用美托洛尔治疗慢性心力衰竭疗效确切,能够
期刊
【摘要】目的:探讨优质护理在门诊的实施效果与体会。方法:研究组患者在进行常规门诊护理的基础上给予优质护理服务;对照组患者仅进行门诊常规护理措施。对两组患者发放自拟护理满意度调查表,以及观察并记录两组患者的应急抢救成功率与护理投诉事件,对结果进行统计学分析,得出结论。结果:研究组患者实施门诊优质护理后,护理满意度评分、护理投诉率以及应急抢救成功率均优于对照组患者,且P<0.05, 两组患者对比结果具
期刊
任职于重庆市涪陵第二中学校,是一名优秀的中学物理教师。    ☆前言  上次去一中听了节关于“电路的连接”的物理课,老师大部分教学内容是用幻灯片展示的,其中有个环节是教师要学生将黑板上画出来的电源、小灯泡、开关、电流表、电压表、滑动变阻器等实物图用粉笔连成所需要的电路,在黑板上要想连接出不同的电路图就需要反复的擦除,不形象直观,还非常麻烦。    ☆过程  回校后回味了听课过程,认为本课最大的败笔
期刊
图  酷睿2处理器因其音译得名“扣肉”,甚至连主板大厂——技嘉还专门举办了扣肉超频大赛……  酷睿2处理器的低工作频率,更好的制程工艺(65nm)都为超频提供了更好的空间。既然性能强劲,为什么还要超频呢?例如E6300处理器,不仅性能强劲,同时频率足够低,仅为1.86GHz,超频空间很大。而且,经过超频,E6300的性能甚至可以超过E6600,二者差价已近一倍!这样的免费性能提升,谁会不动心呢? 
期刊
本期番茄来为大家揭晓一下挑战之星第一期题目1—“原来是你”的挑战结果,“原来是你”的题目如下:    挑战    题目1.原来是你  当我们在微软的官方网站下载补丁或者工具的时候,经常会遇到下载的链接是个按钮的情况,点击之后浏览器自动开始下载程序,尽管很方便,但这个按钮无法通过右键点击查看其“属性”的方法获得下载地址,如果我们要使用多线程或断点续传的下载工具时,如何才能获得该下载文件的真实地址呢?
期刊
【摘要】医院药剂科工作是医院工作的重要组成部分,其政策性、学术性、技术性、实践性均很强,是维护人民健康、保障用药安全有效的重要工作环节。药剂科管理工作必须密切结合医学、教学、科研的需要提供为预防、治疗、诊断等服务的综合管理。如何提高医院药剂科综合管理的水平对改善医院用药安全、保障医院秩序运行具有重要意义。本文就医院药剂科综合管理的一些建议探讨如下。  【关键词】药剂科;综合管理;建议Compreh
期刊
Mylovelypearl店主MM真人秀  我叫汤密,大学毕业后在北京做了一年多的导游。带团,我最大的感触之一,就是珠宝之类的旅游纪念品利润特别高。前段时间,一个好友说起开网络商店卖珍珠,做国际交易,生意特别火,不但全职,还请来了两个帮手我  的心痒了,做出一个重大决定:也下海体验一把网上的国际贸易!    ★把什么卖给外国人  中国淡水珍珠产量占全世界总产量的99%以上,正好我住在潘家园附近,有
期刊
摘要:目的:探讨甲状腺微小乳头状癌的病理诊断基础。方法:回顾性分析60例甲状腺微小乳头状癌患者的病理及临床资料,并对患者进行跟踪随访。结果:甲状腺微小乳头状癌的主要组织学特征为毛玻璃样(透明)细胞核(35.0%);核内假包涵体(26.7%);核沟(33.3%);纤维性间质反应或砂砾体(5.0%)。免疫组化标记结果,53例CK19、50例Ki-67、60例Tg呈阳性表达。结论:甲状腺微小乳头状癌具有
期刊
【摘要】急性心肌梗塞(AMI)是心肌缺血性坏死、冠状动脉急性闭塞、使相应的心肌严重而持久的急性缺血,引起梗死相关动脉所供血区域的心肌细胞急性坏死的一组综合征。溶栓治疗的获益与发病至溶栓开始的时间密切相关,溶栓越早,溶栓挽救的心肌就越多。我们对尿激酶(UK)、链激酶(SK)、重组链激酶(RSK)及重组组织型纤溶酶原激活剂(rt-PA)的应用剂量及疗效进行了探索,使AMI病死率明显下降。  【关键词】
期刊
【设计物语】  在今年第20期的《公司名称是怎样变成Logo的》一文中,我们介绍了如何把文字变成Logo图标。今天我们再来介绍如何通过简单形状的重复,快速制作出公司的Logo。这里的主要手法是群化构成,它实际上就是上一期所说的重复构成的一个特例。不过重复构成是开放式的,它通过上下左右不同方向的推进产生连续纹样,最终形成的作品可大可小;而群化构成则是封闭式的,它围绕一个中心点,或旋转或重叠,最终形成
期刊