飘灵儿 发表于 2015-2-3 23:54:37

PHP教程之PHP团体网站架设全攻略

用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。团体网站|攻略     这里和人人交换一下架设团体网站的经历。不当的地方,敬请斧正!
  一 编纂调试情况
  win98当地编纂调试,爽不爽?先下一个Omnihttpd Proffesinal V2.06 ,装上就有PHP4beta3可以用了。假如你较懂HTML,保举用EditPlus,相当好哦!不然只好用DreamWeaver先了。还要连数据库?幸亏MySQL还有For WIN32的版本。
  二 先来一个计数器
  本人的计数器总比外来的好,敝帚自珍嘛!时下引见的计数器源代码老是那种刷新一下就长,难免有些掩耳盗铃,呵呵。不外咱们仍是先剖析一下它的任务道理吧,上面是一个复杂计数器的示例:
  <php $countfile="count.txt";
  if(file_exists($countfile))
  { $fp=fopen($countfile,"r+");
  $count=fgets($fp,5); $count+=1; rewind($fp);
  fputs($fp,$count,5);
  fclose($fp);
  }
  else
  {
  $fp=fopen($countfile,"w");
  $count="1";
  fputs($fp,$count,5);
  fclose($fp);
  };
  ?>
  这个计数器有个绰号,叫一刷就长^_^。那末,怎样才干使计数器更真实一点呢?PHP4给咱们带来一个复杂的办法,就是利用SESSION(会话)级变量。一进页面,先查验SESSION中COUNT是不是存在并等于你想要的值,不等于则使等于先,然后挪用计数进程,会话停止后,就能够对COUNT说:ByeBye了您呐!
  然而假如不是PHP4又该怎样办?不晓得你还记得cookie否?咱们可以假定或人在15分钟之内(或其余工夫段内)对你的网页的恳求都不属于一个新的人次,如许你可以做个计数的进程存在INC里,在每个页面援用,访客第一次进入时将会见工夫送到cookie里。今后每一个页面被会见时都反省cookie前次会见工夫值。对照一下,若不同大于十五分钟则计数,不然将工夫刷新。(你不会连cookie怎样用都不晓得吧?呵呵,保举一本书《PHP中心编程》,清华版的,查函数还够用,每一个函数都有利用示例:-D)
  不外,方才的计数器毫无雅观可言,估量你是一定不写意了,换个图形的吧。做一套0.jpg,1.jpg……9.jpg。方才不是读入一个字串吗?先查查串长,输出你希冀的长度(如5)减去串长(去失落空格后的)个零,然后从头一个一个截数字(其实仍是字符),与“.jpg”组合后输入,图形计数器不就出来了吗?
  好了,一个团体用的计数器就已对照完善了.
  三 首页旧事宣布,让你更新更轻松(上)
  --------每次在首页中增添一条动静,加两句话,就得全部页面都上传一遍,真是不值!因而象蓝风这类懒汉就想了一个与日俱增的举措,真实的静态及时,近程办理编纂,主动保护功效。也能够用来做虚拟社区的通知布告板。(假如改吧改吧,就能够把你的旧事中间的旧事在首页主动生成提纲了,呵呵。)这么多功效,人人多多谅解,嘿嘿。
  --------先插几句题外话,咱们做网站时,是用html两头装点PHP呢,仍是用PHP来生成html?专业的站点可以把一个功效集中在一页,经由过程这一页挪用分歧的模块来完成各个子功效(如许客户端是否是就只要一页了呢?我没有试过)。不论如何,功效模块化的软件复用是高效力开辟的一个主要办法(也能节俭你的主机空间哦^_^)。
  --------好了,上面咱们就一同来把功效模块化吧。初学者请细心浏览代码,特别要注重根基函数的用法。高手就能够略过这一段了,呵呵(这么仔细干嘛?都看得人家欠好意思了9-()。
  <?php
  /*head.php 为了不被他人直接键入head.inc下载你的源代码,最好用php做后缀,如许,你的办事器才会先截获它停止处置,呵呵*/
  echo "<html><head><title>"
  echo "网管之路"//假如题目常变,可做一个函数。
  echo "</title></head>"
  ?>
  这是一个写html头的一功效块。
  <?php
  /*makestr.php 界说一个公用途理文本中超链接的函数,假定文本中链接模式为${http://www.yoyonow.net|网管之路}*/
  function makestr($text)
  { $str=$text;
  $a=strstr($s,'$}');//切除在$s中‘${'之前的子串
  if($a){
  $b=strstr($a,'}');
  if($b){
  $la=strlen($a);$ls=strlen($s);//取串长
  $s=substr($a,0,$ls-$la);//取子串,第二个参数为出发点,第三个参数为取字符的个数
  $a=substr($a,2);//去失落'${'
  $lb=strlen($b);$la=strlen($a);
  $a=substr($a,0,$la-$lb);//掏出超链接局部
  $b=substr($b,1);//去失落'}'
  $ta=strstr($a,"|");//寻觅是不是存在需求做链接的文字
  if($ta){
  $la=strlen($a);$lt=(strlen($ta);
  $linktext=substr($a,$la-$lt+1);
  $a=substr($a,0,$la-$lt);
  }
  else{
  $linktext=$a;
  }
  $s=$s."<a herf="".$a."">.$linktext."</a>.$b;//筹办前往字串
  }
  }
  return($s);
  }
  --------假如你是一个老手,那末应当找一本html入门的书来看看。不然是很难成为一个PHP高手的。这些你入手下手看起来 十分复杂的处置字符串的函数,经由你的奇妙应用,是能做良多大度的事的。下一讲,咱们就能够看到咱们筹办了泰半天的功效了,呵呵。
  三 首页旧事宣布,让你更新更轻松(中)
  前次咱们做了一个文件头(至于文件尾,请人人本人做,假定为tail.php),一个函数的模块,如今,咱们来一个根基功效的完成,也就是静态宣布啦
  <?php
  include("makestr.php";
  include("head.php");
  $newspath="/announce/"; //以文本文件寄存的旧事文件的目次
  $newsfile=array();//筹办旧事数组
  $hd=dir($newspath); //目次句柄
  while($filename=$hd->read()){ //获得全体文件
  $s=strtolower($filename);
  if(strstr($s,".txt")){
  //检测最新的修正日期
  $lastchanged=fileatime($newspath.$filename);
  $newsfile[$filename]=$lastchanged;
  }
  }
  arsort($newsfile); //文件按工夫排序
  //输入文件
  for(reset($newsfile);$key=key($newsfile);next($newsfile))
  {$fa=file($newspath.$key);
  $n=count($fa);
  echo "<p>".date("d.m.Y-H:i:s".$newsfile[$key])."<br>\n";
  for($i=0;$i<$n;$i=$i+1){
  $s=chop($fa[$i]);//去除空格
  $s=htmlspecialchars($s);
  print $s."</p>\n";
  }
  }
  $hd->close(); //释放句柄
  include("tail.php");
  ?>
  如许,将你的旧事文本传上你根目次的annouce子目次下,就能够便利宣布旧事了。但真实的便利还不在于这,好比说,当旧事过时的时分,法式能主动删除它,多好。不必ftp,直接在线写下要新发的通知布告,多便利。好了,且听下回分化。
  三 首页旧事宣布,让你更新更轻松(下)
  -----上一讲里,咱们已完成了首页旧事宣布的根基功效。在这一讲里,咱们再给它添砖加瓦,使它的功效更加壮大。(一个好用的软件,其实也就是根基功效加上一批从属功效,这些从属功效次要也是图个便利罢了,呵呵)
  -----起首,咱们再明白一下咱们想取得甚么便利。咱们不但愿几十天之前的器材咱们忘了删除,了局还作为旧事宣布在首页(很难看的哦^&^)。假如咱们在根基完成中嵌入一段代码,好比说用filectime($filename),那末在UNIX下,咱们就能够失掉从1970年1月1日起以秒计到最初一次文件被修改的工夫(在WINDOWS下前往的是文件生成的日期工夫),而从 1970年1月1日起以秒计到如今的秒数可以用$mynow=mktime()来取得,减法,判别,IF >咱们希冀的工夫,嘿嘿,Sorry,unlink($newspath.$filename)……甚么?!您问这段代码应当放在哪儿?您说呢,呵呵。
  也许,你并非常在一台机械上上彀,当你取得了一条新的旧事后却不在你的爱机旁,怎样办?最幻想的莫过于在主页上上传文件咯。你也许有一个页面(Admin?)需求用暗码才干进入(假设你还爱护本人的网站的话,这是有需要的,最好连文件名都不要让他人晓得,呵呵)。上面是一段各处可见的文件上载的代码:
  <?
  if(isset($upfile))
  {
  ?>
  已上载的文件信息以下:
      文件寄存途径: <?echo $upfile;?>
      原始文件名    : <?echo $upfile_name;?>
      文件巨细(字节): <?echo $upfile_size;?>
      文件类型      : <?echo $upfile_type;?>
  <?
  }
  else
  {
  ?>
  <html>
  <head><title>旧事上传</title></head><body>
  <form enctype="multipart/form-data" method="post" action="<?echo $PHP_SELF;?>">
  <input type="hidden" name="MAX_FILE_SIZE" value="50000">
  请选择或输出上传文件名: <input name="upfile" type="file">
  <input type="submit" value="上传" name="submit">
  </form>
  </body></html>
  <?
  }
  ?>
  -----这里咱们又见到了PHP和HTML联合的一种模式,可以自创。文件上载固然便利,但总给人一种不平安感。一旦泄密,你的办事器的体系平安就遭到了威逼,由于上载的文件多是一些损坏性的履行文件(也就是病毒或黑客法式啦)稳妥的做法是写一个在线编纂的文件,上面是一个示例:
  〈?php
  function mywritefile($filename,$contents){
  if($fp=fopen($filename,"w")){
  fwrite($fp,strpslashes($contents));
  fclose($fp);
  return 1;
  }
  else {return 0;};
  };
  //判别表单前往的变量
  if($submitButton=="完成"){
  $rs=mywritefile("$page","$test");
  echo "<a href ="$page">$page</a><br>";
  }
  elseif($action=="page") //变量action值为"page"的情形
  {$contents="$page";
  $fp=@fopen($content,"w+")or die('Could not open file!');
  $contents=htmlspecialchars($contents);
  fclose($fp);
  echo "<form action="admin.php?page=$page" method="POST" wrap=soft>";
  echo "$contents";
  echo "</textarea>";
  echo "<input type="submit" name="submitButton" value="完成">";
  echo "</form>";
  }
  else
  {echo "<form action="basename($PHP_SELF).?action=page" method="POST">";//注重援用法式内变量的体例。
  echo "<input type=text size=20 name=page>";
  echo "<input type="submit" name="send" value="选定">";
  echo "</form>";
  }
  ?>
  -----至此,首页旧事宣布的完成已可以告一段落了。 咱们可以发明,任何一个功效(对照)壮大的陈程式都是由一些复杂的功效组合而成的。第三局部功效的全部完美进程利用叠加加强的办法,和软件工程的自顶向下,逐层剖析的开辟办法是纷歧样的。这是一个合用于进修的办法,本人写写习作仍是挺管用的,呵呵。
我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:

小女巫 发表于 2015-2-4 07:00:53

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

深爱那片海 发表于 2015-2-9 03:04:11

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

因胸联盟 发表于 2015-2-10 06:30:12

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

飘灵儿 发表于 2015-2-10 21:34:34

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

爱飞 发表于 2015-2-12 07:11:35

做为1门年轻的语言,php一直很努力。

仓酷云 发表于 2015-2-26 08:36:52

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

若天明 发表于 2015-3-8 13:00:08

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

山那边是海 发表于 2015-3-11 06:23:31

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

乐观 发表于 2015-3-17 22:10:32

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

admin 发表于 2015-3-19 22:59:49

Ps:以上纯属原创,如有雷同,纯属巧合

柔情似水 发表于 2015-4-1 13:07:43

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

活着的死人 发表于 2015-4-2 11:53:31

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

透明 发表于 2015-4-10 11:37:38

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

不帅 发表于 2015-4-16 02:21:01

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

第二个灵魂 发表于 2015-4-26 05:26:39

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

精灵巫婆 发表于 2015-4-26 09:18:34

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

分手快乐 发表于 2015-7-2 22:43:07

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

冷月葬花魂 发表于 2015-7-5 02:33:21

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

蒙在股里 发表于 2015-7-6 00:24:45

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
页: [1] 2
查看完整版本: PHP教程之PHP团体网站架设全攻略