个人网站

这里和大家交流一下架设个人网站的经验。不妥之处,敬请指正!

一 编辑调试环境

win98本地编辑调试,爽不爽?先下一个Omnihttpd Proffesinal V2.06 ,装上就有PHP4beta3可以用了。如果你较懂HTML,推荐用EditPlus,相当好哦!否则只好用DreamWeaver先了。还要连数据库?幸好MySQL还有For WIN32的版本。

二 先来一个计数器

自己的计数器总比外来的好,敝帚自珍嘛!时下介绍的计数器源代码总是那种刷新一下就长,不免有些自欺欺人,呵呵。不过我们还是先分析一下它的工作原理吧,下面是一个简单计数器的示例:

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-()。"

echo "网管之路"//如果标题常变,可做一个函数。

echo ""

?>

这是一个写html头的一功能块。

.$linktext.".$b;//准备返回字串

}

}

return($s);

}

--------如果你是一个新手,那么应该找一本html入门的书来看看。否则是很难成为一个PHP高手的。这些你开始看起来 非常简单的处理字符串的函数,经过你的巧妙运用,是能做很多漂亮的事的。下一讲,我们就可以看到我们准备了大半天的成果了,呵呵。

三 首页新闻发布,让你更新更轻松(中)

上次我们做了一个文件头(至于文件尾,请大家自己做,假设为tail.php),一个函数的模块,现在,我们来一个基本功能的实现,也就是动态发布啦

".date("d.m.Y-H:i:s".$newsfile[$key])."

\n";

for($i=0;$i  $s=chop($fa[$i]);//去除空格

$s=htmlspecialchars($s);

print $s."\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))

{

?>

已上载的文件信息如下:

文件存放路径 :

原始文件名 :

文件大小(字节):

文件类型 :

}

else

{

?>新闻上传

请选择或输入上传文件名:

}

?>

-----这里我们又见到了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 "$page

";

}

elseif($action=="page") //变量action值为"page"的情况

{$contents="$page";

$fp=@fopen($content,"w ")or die('Could not open file!');

$contents=htmlspecialchars($contents);

fclose($fp);

echo "";

echo "$contents";

echo "";

echo "";

echo "";

}

else

{echo "";//注意引用程序内变量的方式。

echo "";

echo "";

echo "";

}

?>

-----至此,首页新闻发布的实现已经可以告一段落了。 我们可以发现,任何一个功能(比较)强大的陈程式都是由一些简单的功能组合而成的。第三部分功能的整个完善过程使用叠加增强的方法,和软件工程的自顶向下,逐层分析的开发方法是不一样的。这是一个适用于学习的方法,自己写写习作还是挺管用的,呵呵。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

威联通架设php网站_PHP个人网站架设全攻略_PHP相关推荐

  1. php微博互粉网站源代码,微博粉丝平台开发全攻略_PHP教程

    微博粉丝平台开发最便捷的方法是从微信迁移过来,不过微博粉丝平台对此做了些改动. 以下引用自:http://open.weibo.com/wiki/%E5%BE%AE%E4%BF%A1%E5%BC%80 ...

  2. apache php mysql配置详解,详细介绍:Apache+PHP+MySQL配置攻略_php基础

    一.系统要求: 本系统在REDHAT7.2版本测试通过 二.服务器端软件要求: 1:到APACHE的网络站下载APACHE WEB SERVER http://www.apache.org/ 2. 到 ...

  3. Linux下架设邮件服务器全攻略(二)

    Linux下架设邮件服务器全攻略(二) (三)sendmail.cf难以配置,Sendmail的开发人员为sendmail的管理者提供了更加容易理解和配置的sendmail.mc文件. 一般情况下,要 ...

  4. php 继承性,php面向对象全攻略 (七) 继承性_php基础

    //定义一个"人"类做为父类 class Student{ //下面是人的成员属性 var $name; //人的名子 var $sex; //人的性别 var $age; //人 ...

  5. wow服务器硬件,魔兽架设技术wow服务器配置文件详细中文说明攻略

    由于我们网站上对于文章的篇幅是有规定的,为了减少玩家们的阅读压力小编将这篇wow服务器配置文件详细中文说明分成了两部分.上一章小编给大家分享的魔兽世界私服游戏中我们经常需要修改到的一些配置,这一章小编 ...

  6. 还用又贵又少的旧套餐?联通老用户换套餐全攻略

    联通互联网套餐哪个好?近日,很多网友都在讨论这个话题,越来越多老用户通过联通客服或者是工信部投诉,得以换用资费更加实惠的联通互联网套餐.联通推出了很多互联网套餐,这些套餐资费不一,那么到底联通互联网套 ...

  7. 网站服务器Win2003系统网络安全设置全攻略

    本篇文章主要讲述架设网站服务器--IIS6.0,网站架构:ASP+ACCESS--的安全设置,是结合网上相关教程和自己经验总结整理的服务器安全设置笔记,在此仅做为参考以飨网友. Windows Ser ...

  8. 网站设计全攻略-3、确定网站的栏目和版块

    确定网站的栏目和版块 <设计的思考>系列文章,今天开始写第三篇.阿捷不是专业的网页设计师,但阿捷将尽自己所能把这个系列文章写好,尽可能将自己实践过程中总结的经验和心得告诉给大家,希望能给您 ...

  9. Linux添加rose不能交互式登录,常见问题及注意事项 - Linux下环境安装配置Rose HA全攻略(图)_数据库技术_Linux公社-Linux系统门户网站...

    常见问题及注意事项 •  开机方法: 开机的时候我们必须注意到,必须先开磁盘阵列,等 磁盘阵列状态READY 后,再开主机,主机完全开启后,再把备机开启. •  关机方法: 关机的方法则是开机的反顺序 ...

最新文章

  1. java中gso是什么意思_在java中用gson解析json
  2. oracle未找到远程连接,Oracle ORA-02019:未找到远程数据库的连接说明 | 学步园
  3. Sun地系统架构师考试(SCEA)
  4. 哪个是python程序中与缩进有关的正确说法_关于Python程序中与“缩进”有关的说法中,以下选项中正确的是()。_学小易找答案...
  5. 某虚拟化项目总结:一条光纤引发的故障
  6. php根据分辨率跳转,使用PHP将分辨率转换为Aspect比率
  7. hql取满足条件最新一条记录_数据仓库怎么做拉链表记录数据变化情况,看看这篇文章 就明白了...
  8. Nginx 部署 Django
  9. 终于开通了,呵呵,以后跟大家一起讨论
  10. 为什么 scrum 开发人员是一个 T-形的人 ?
  11. iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的使用...
  12. paip.银行卡号的发卡行归属地查询
  13. SDN为何一直热度不减?一文解析SDN的前世今生
  14. 分别实现:css动画、js动画、vue动画
  15. 【Unity3D 灵巧小知识点】☀️ | Unity 中 怎样切换 天空盒 背景
  16. mysql存储过程基础写法
  17. 关于男人女人的经典感悟
  18. Qt用SVG图片作为背景图
  19. Java学习——逻辑运算、双分支结构(if\else)
  20. 航海世纪服务器维护中,航海世纪: 下周五航海世纪 迎来主流服务器黑珍珠号

热门文章

  1. PPTV免费会员赠送活动
  2. Python三级菜单初学-脑残版
  3. ESP8266 NodeMCU开发板连接手机热点问题
  4. 论文阅读_人脸检测:S3FD: Single Shot Scale-invariant Face Detector
  5. Java实验报告手写_java实验1实验报告(20135232王玥)
  6. 互联网之父赛弗:互联网仍很年轻
  7. java集合 测试对TreeSet的使用
  8. 使用Win32DiskImager写入U盘容量变小,提示格式化。恢复U盘原本容量方法
  9. 【leetcode题解——动态规划之完全背包】518.零钱兑换II(python版本详解+表格+dp五部曲)
  10. 黑莓未死 出路在于保节操做精品/从贩卖祖屋到股价大涨黑莓回光返照?