从实例开始

 更新时间:2016年11月25日 15:16  点击:1589

3 PHP实践
PHP的许多特点与其他软件或者工具有关。利用迄今为止我们所学到的PHP知识,我们可以试着建立一个简单交互的网站。利用这一过程我们又可以学到不少东西。好吧,我们现在开始专注于一个典型个人网站的建设。

3.1 计划一个站点
一般一个个人站点包括一个欢迎页面、一个留言本页面、一个书签链接页面、一个计数器、联系信息,甚至还有照片集和一些音乐文件等等。让我们从一个标题页面、一个联系信息页面和一个简历页面开始。我们同样需要标准的通用的页面头部和底部。

标题页面--front.html

这里我们有一个非常简单的html文件:
<HTML>
<HEAD>
<TITLE>
我的个人主页--欢迎
</TITLE>
</HEAD>
<BODY>
<H1>
我的个人主页
</H1>
<H2>
欢迎
</H2>
<HR>
<P>
欢迎来我的寒舍,虽然这里现在暂时还没有什么。
</P>
<P>
不过我希望马上就可以多起来。
</P>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? 我自己,1999
</I> </SMALL>
</P>
</BODY>
</HTML>

联系信息页面--count.html

同样我们又有了一个简单页面:
<HTML>
<HEAD>
<TITLE>
我的个人主页--联系信息
</TITLE>
</HEAD>
<BODY>
<H1>
我的个人主页
</H1>
<H2>
联系信息
</H2>
<HR>
<P>
你可以通过1-800-PHP-INFO联系我
</P>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? 我自己,1999
</I> </SMALL>
</P>
</BODY>
</HTML>

这是一个计算2000年01月01日起到指定日的天数的函数
<br>
(算头也算尾)日期格式为:YYYY-MM-DD
<br>


<?php
// 计算从2000年01月01日开始到某日的天数

function cal_start2end($end_day,$start_day)
{


$start_day=ereg_replace("-","",$start_day);
$end_day=ereg_replace("-","",$end_day);


if($end_day>=$start_day)
{ // 截止日期大于开始日期
if(substr($end_day,0,4)==substr($start_day,0,4))
{

if( is_int(substr($end_day,0,4)/4) )
$leap_day=29; //leap year
else
$leap_day=28;


// //同一年

if(substr($end_day,4,2)==substr($start_day,4,2))
{
// the same month
$endday_from_startday=$end_day-$start_day 1;

}
else
{
// not same month


switch (substr($end_day,4,2))
{
case "01":
$endday_from_newyear=substr($end_day,6,2) 1;
break;
case "02":
$endday_from_newyear=substr($end_day,6,2) 31;
break;
case "03":
$endday_from_newyear=substr($end_day,6,2) $leap_day 31;
break;
case "04":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2;
break;
case "05":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2 30;
break;
case "06":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*3 30;
break;
case "07":
$endday_from_newyear=substr($end_day,6,2) 1 $leap_day 31*2 30*2;

<?
function get_ubb($text)//$text是文章内容
{//图片
$text=str_replace("[ img ]","<img src=",$text);
$text=str_replace("[ /img ]",">",$text);

//链接地址
$arr=explode("[ /url ]",$text);
for($i=0;$i<count($arr)-1;$i )
{$tt=explode("[ url ]",$arr[$i]);
$k=$tt[1];
$all=$all.$tt[0]."<a href=".$k." target=_blank>".$k."</a>";
}
if(count($arr)==1)
{
$text=$text;}
else
{$no=count($arr)-1;
$text=$all.$arr[$no];}

//邮箱地址
$all="";
$arr=explode("[ /email ]",$text);
for($i=0;$i<count($arr)-1;$i )
{$tt=explode("[ email ]",$arr[$i]);
$k=$tt[1];
$all=$all.$tt[0]."<a href=mailto:".$k.">".$k."</a>";
}
if(count($arr)==1)
{
$text=$text;}
else
{$no=count($arr)-1;
echo"$arr[$no]";
$text=$all.$arr[$no];}
return $text;
}
//调用
$text=get_ubb($text);
?>

6. PHP资源
你可以通过web上的众多资源更多的了解PHP3。许多邮件列表和书籍对你都非常有用。

6.1 站点

PHP的爆炸性流行使得一夜之间出现了很多基于PHP的站点,其中不少站点有在线教程、范例代码、技巧和提示等内容。


国内
http://www.phpuser.com - PHP中文用户,也就是这里了
http://www.phpx.com - 中国PHP联盟
http://www.phpsite.net - PHP专门站
http://www.111cn.net - PHP CHINA
http://www.cpcw.com/netschool/homepage/cgi/ - 电脑报网页陶吧
国外
http://www.php.net/ - PHP官方站点
http://www.devshed.com/ - 极好的教程
http://px.sklar.com - 代码交换
http://www.phpbuilder.com/ - 教程、专栏和邮件列表档案
http://www.weberdev.com/ - 文章和代码
http://www.phpwizard.net/ - 提示与技巧
http://www.iometrics.com/php/phplist.php3/ - IOMetrics scripts的档案
http://www.e-gineer.com/phpkb/ - PHP知识库

6.2 邮件列表

你可以在PHP官方站点的"支持"栏目内登记获得以下的邮件列表。值得注重的是这些都是高流量流表,一般天天会有100份e-mail。


php3@lists.php.net - 主要的列表
php-dev@lists.php.net - 主要针对开发者
php-list@exp.com.cn - 本站的邮件列表,与论坛相通

6.3 引人注目的工程

一些基于PHP的工程已经发展得比较完善。其中一些更出色更引人注目的是:

http:// phplib.netuse.de - PHPLib,一整套PHP函数库
http://www.phorum.org - Phorum是一个很完善的BBS系统
http://www.fishcartsql.org - FishCartSQL是一个电子商务解决方案
http://www.midgard-project.org - Midgard是一个网络应用开发平台

大家知道,php是一种PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页。当用户打开php页面时,服务端便执行PHP的命令并将执行结果发送至用户的浏览器中,这类似于ASP和CoildFusion,PHP可以运行在WINDOWS和多种版本的UNIX上。除了能够操作您的页面外,PHP还能发送HTTP的标题。您可以设置cookie,治理数字签名和重定向用户,而且它提供了极好的连通性到其它数据库(还有ODBC),集成各种外部库来做用PDF文档解析XML的任何事情。那你还知道可以用php的强大功能做点别的东西吗?

  在以独立的cgi方式运行时,需要一个php可执行程序,他有很多命令行参数的,有些可以用作很好玩的用途,下面是全部的php命令行参数,其中[]表示可有可无的,<&gt;表是一定要的。

用法 php [-q] [-h] [-s] [-v] [-i] [-f ] | { [args...]}

  -q 安静模式。不输出HTTP头。

  -s 将php程序文件用转化为彩色格式的HTML(比如保留字用绿色,函数和变量为蓝色,注释为黄色而字串则是红色等等。

  -f 读入并解释指明的文件。

  -c 在中读入php.ini文件

  -a 交互式运行

  -d foo[=bar] 定义ini中的输入项 foo 的值为 bar

  -e 输出额外信息以便调试和性能分析

  -z 调入Zend扩展文件

  -i php的相关信息

  -h help本身。

哈,知道如何利用它了吗?

对了,

1.用php -q 文件名.php 方式把php程序当shell程序来用,

2.用 -s把自己的php程序html化。这样是不是很省心?

3.利用php的odbc功能可以在shell命令中对数据库进行操作。

还有很多,就看你的创意了。哦,别忘了告诉我一声。

 

[!--infotagslink--]

相关文章

  • 快速理解MySQL中主键与外键的实例教程

    主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴 thread,一张是回帖 reply先说说主键,主键是表里面唯一识别记录的字段,一般是帖子id,体现在访问的时候,例如是 thread.php&#63;id=1 表示我要访问的是帖子...2015-11-24
  • yii添删改查实例

    一、数据访问对象 (DAO)YiiDAO 基于 PHP Data Objects (PDO) 构建。它是一个为众多流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括MySQL, PostgreSQL 等等。因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如...2015-11-24
  • c# 接口使用实例

    这篇文章主要介绍了c#接口使用的实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-17
  • C#中的IEnumerable简介及简单实现实例

    这篇文章主要介绍了C#中的IEnumerable简介及简单实现实例,本文讲解了IEnumerable一些知识并给出了一个简单的实现,需要的朋友可以参考下...2020-06-25
  • vue实例的选项总结

    这篇文章主要介绍了Vue实例的选项有哪些,文中讲解非常细致,代码帮助大家更好的学习,感兴趣的朋友可以了解下...2020-06-10
  • php socket讲解与实例

    在这一章里你将了解到迷人而又让人容易糊涂的套接字(Sockets)。Sockets在PHP中是没有充分利用的功能。今天你将看到产生一个能使用客户端连接的服务器,并在客户端使用sock...2016-11-25
  • Vue实例简单方法介绍

    这篇文章主要为大家详细介绍了Vue实例的一些简单方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-23
  • C++内核对象封装单实例启动程序的类

    这篇文章主要介绍了利用C++内核对象封装的类,程序只能运行单个实例,可防止多次启动,大家参考使用吧...2020-04-25
  • php 中缓冲输出实例代码

    ob_start([string output_callback])- 打开输出缓冲区   所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。 ob...2016-11-25
  • C# 委托(跨窗体操作控件)实例流程讲解

    今天研究了一下,在C#里面却是可以不用自定义消息这么复杂的方法来实现跨窗体调用控件,C#有更好的办法就是委托。...2020-06-25
  • PHP支持断点续传实例代码

    下面我们来介绍一下关于php实现断点续传的代码,有需要学习的朋友可参考一下。 让PHP下载代码支持断点续传 主要靠的 HTTP协议中header Content-Range来实现 先来...2016-11-25
  • 同时ping多个ip找了最快的ip网的php实例

    本文我们来分享一段可以同时ping多个ip然后对比找出网络最快的ip的php程序,这段程序用来找代理ip可是神器。 为了翻墙方便 ,买了个vpn,转到osx下面官方没有提供合...2016-11-25
  • 举例说明JavaScript中的实例对象与原型对象

    这篇文章主要介绍了JavaScript中的实例对象与原型对象,针对constructor属性和prototype属性展开来讲,需要的朋友可以参考下...2016-03-12
  • PHP中获取星期几实例程序

    在php中我们要获取今天是星期几可以直接使用date函数来操作,下面我来给各位同学总结一下具体的操作方法,希望此方法对各位朋友有帮助。 PHP中获取星期方法大全简单...2016-11-25
  • python3中类的重点与难点:类属性和实例属性的区别说明

    这篇文章主要介绍了python3中类的重点与难点:类属性和实例属性的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-02
  • 快速实现MySQL的部署以及一机多实例部署

    这篇文章主要为大家详细介绍了快速实现MySQL的部署以及一机多实例部署的相关资料,感兴趣的小伙伴们可以参考一下...2016-04-22
  • C C++ 算法实例大全

    这篇文章主要介绍了C C++ 算法实例大全,里面大量的实例介绍,学习c语言的朋友可以收藏...2020-04-25
  • PHP多线程的实例(PHP多线程类)

    文章给大家整理两个PHP多线程了,一个是模仿java的多线程了,另一个是使用了curl实现多线程序采集图片了,下面我们一起来看看。 通过WEB服务器来实现PHP多线程功能。...2016-11-25
  • asp.net得到本机数据库实例的两种方法代码

    这篇文章介绍了asp.net得到本机数据库实例的两种方法代码,有需要的朋友可以参考一下...2021-09-22
  • php explode 实例与教程

    php explode 实例与教程 array explode ( string separator, string string [, int limit] ) separator 必需。规定在哪里分割字符串。 string 必需。要分割的字符...2016-11-25