仓酷云
标题:
PHP教程之PHP团体网站架设全攻略
[打印本页]
作者:
飘灵儿
时间:
2015-2-3 23:54
标题:
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
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者:
深爱那片海
时间:
2015-2-9 03:04
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者:
因胸联盟
时间:
2015-2-10 06:30
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者:
飘灵儿
时间:
2015-2-10 21:34
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者:
爱飞
时间:
2015-2-12 07:11
做为1门年轻的语言,php一直很努力。
作者:
仓酷云
时间:
2015-2-26 08:36
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者:
若天明
时间:
2015-3-8 13:00
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者:
山那边是海
时间:
2015-3-11 06:23
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者:
乐观
时间:
2015-3-17 22:10
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者:
admin
时间:
2015-3-19 22:59
Ps:以上纯属原创,如有雷同,纯属巧合
作者:
柔情似水
时间:
2015-4-1 13:07
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者:
活着的死人
时间:
2015-4-2 11:53
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者:
透明
时间:
2015-4-10 11:37
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者:
不帅
时间:
2015-4-16 02:21
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者:
第二个灵魂
时间:
2015-4-26 05:26
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者:
精灵巫婆
时间:
2015-4-26 09:18
实践是检验自己会不会的真理。
作者:
分手快乐
时间:
2015-7-2 22:43
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者:
冷月葬花魂
时间:
2015-7-5 02:33
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者:
蒙在股里
时间:
2015-7-6 00:24
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者:
变相怪杰
时间:
2015-7-11 15:32
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2