PHP动态创建Web站点的方法
程序员文章站
2024-01-19 18:50:10
php有4个用于使用外部函数的函数:include()、include_once()、require()和require_once(). 为了使用它们,php脚本中将包括如...
php有4个用于使用外部函数的函数:include()、include_once()、require()和require_once().
为了使用它们,php脚本中将包括如下代码行:
include_once('arr.php');
require('/path/to/filename.html');
两种使用外部函数的区别:
使用起来完全一样,只是在出错时会有所不同:include()函数不工作,就会向web浏览器打印一个讲稿,但是脚本会继续运行,如果require()失败,就会打印一个错误,并且脚本会终止运行。
这两个函数还有一个*_once()版本,它们保证被考虑的文件只会会包含一次,而不管脚本可能试图包含它多次。
eg:
<body>
<?php
require('arr1.php');
include('arrsort.php');
?>
</body>
利用php的粘结能力处理html表单
<body>
<?php
require('arr1.php'); //先把要执行的文件包含进来
if(isset($_post['name'])) //判断是否输入,然后往下执行..
{
$name=$_post['name'];
echo "$name";
}
?>
</body>
黏性表单
预先设置文本框中输入的内容:
<input type="text" name="city" size="20" value="innsbruck"/>
让php预先设置该值:
<input type="text" name="city" size="20" value="<?php echo $city;?>"/>;
函数
函数名和变量的命名规则相同,但是函数名不区分大小写。例如:function name() 和function name()是两个完全相同的函数。
时期和时间函数
date('format',[timestamp]);
依据指定的格式返回某一日期和时间的文本字符串。timestamp是一个可选项,表示正在考虑的日期从unix epoch(unix时间戳,1970年1月1日0点)起所经过的秒数。它允许你获得关于特定日期的信息,如星期几。如果未指定时间戳,php就会使用服务器上的当前时间。
可以使用mktime()函数找出特定日期的时间戳。
$stamp=mktime(hour,minute,second,month,day,year);
可以使用getdate()函数返回日期和时间的一组值:
$dates=getdate();
echo $dates['month'];
eg:
<body>
<?php
function md($m=null,$d=null,$y=null)
{
$months=array(1=>'january','february','march','april','may','june','july','augst','september','october','november','december');
echo '<select name="month">';
foreach($months as $key=>$value)
{
echo "<option value=\"$key\"";
if($key==$m){echo 'selected="selected"';}
echo ">$value</option>\n";
}
echo '</select>';
echo '<select name="day">';
for($day=1;$day<=31;$day++)
{
echo "<option value=\"$day\"";
if($day==$d)
{
echo 'selected="selected"';
}
echo ">$day</option>\n";
}
echo '</select>';
echo '<select name="year">';
for($year=2001;$year<=2015;$year++)
{
echo "<option value=\"$year\"";
if($year==$y)
{
echo 'selected="selected"';
}
echo ">$year</option>\n";
}
echo '</select>';
}
echo '<h1 id="mainhead">select a date:</h1><p><br/><p><form method="post">';
$dates=getdate();
md($dates['mon'],$dates['mday'],$dates['year']);
echo '</form></p><br/></p>';
echo '<p>today is'.date('l').'. the current time is'.date('h:i a').'.</p>';
?>
</body>
格式化日期函数:
date_format('2005-05-20',%m,%d,%y);
技巧总结
php的日期函数反映了服务器上的事件(因为php运行在服务器上);如果想确定客户计算机上的日期和时间,则需要使用javascript;
checkdate()函数带3个参数——月份、天和年份——并检查它是否是一个有效的日期(现在或过去实际存在的日期)。
发送电子邮件
mail($to,$subject,$body);
$to值应该是一个电子邮件地址或一系列地址,中间用逗号隔开。
$subject值将创建电子邮件的主题行,
$body可用于在其中设置电子邮件的内容。
在创建电子邮件正文时,可以在双引号内使用换行符(\n),使文本分布在多行上。
$mail()函数带有四个可选参数,用于额外的电子邮件头部。在此可以设置from(发件人)、reply-to(回复)、cc(抄送)、bcc(密件抄送)以及类似的设置。
eg:
mail('fanchangfa@126.com','question regardingscript 3.13',$body,'from:killman@hotmail.com');
要在电子邮件中使用多个不同类型的头部,可以用\r\n把他们隔开:
$headers="from:john@hotmail.com\r\n";
$headers.="cc:jane@hotmail.com,joe@hotmail.com\r\n";
mail('fanchangfa@126.com','question','$body,$headers');
为了使用它们,php脚本中将包括如下代码行:
include_once('arr.php');
require('/path/to/filename.html');
两种使用外部函数的区别:
使用起来完全一样,只是在出错时会有所不同:include()函数不工作,就会向web浏览器打印一个讲稿,但是脚本会继续运行,如果require()失败,就会打印一个错误,并且脚本会终止运行。
这两个函数还有一个*_once()版本,它们保证被考虑的文件只会会包含一次,而不管脚本可能试图包含它多次。
eg:
复制代码 代码如下:
<body>
<?php
require('arr1.php');
include('arrsort.php');
?>
</body>
利用php的粘结能力处理html表单
<body>
<?php
require('arr1.php'); //先把要执行的文件包含进来
if(isset($_post['name'])) //判断是否输入,然后往下执行..
{
$name=$_post['name'];
echo "$name";
}
?>
</body>
黏性表单
预先设置文本框中输入的内容:
<input type="text" name="city" size="20" value="innsbruck"/>
让php预先设置该值:
<input type="text" name="city" size="20" value="<?php echo $city;?>"/>;
函数
函数名和变量的命名规则相同,但是函数名不区分大小写。例如:function name() 和function name()是两个完全相同的函数。
时期和时间函数
date('format',[timestamp]);
依据指定的格式返回某一日期和时间的文本字符串。timestamp是一个可选项,表示正在考虑的日期从unix epoch(unix时间戳,1970年1月1日0点)起所经过的秒数。它允许你获得关于特定日期的信息,如星期几。如果未指定时间戳,php就会使用服务器上的当前时间。
字符 |
含义 |
示例 |
y |
用4位数字表示年 |
2005 |
y |
用2位数字表示年 |
05 |
n |
用1位或2位数字表示月份 |
2 |
m |
用2位数字表示月份 |
02 |
f |
月份 |
february |
m |
用3个字母表示月份 |
feb |
j |
用1位或2位表示一月中的某一天 |
8 |
d |
用2位数字表示一月中的某一天 |
08 |
l |
星期几 |
monday |
d |
用三个字母表示星期几 |
mon |
g |
小时,用1位或2位数字表示的12小时格式 |
6 |
g |
小时,用1位或2位数字表示的24位小时格式 |
18 |
h |
小时,用2位数字表示的12小时格式 |
06 |
h |
小时,用2位数字表示的24小时格式 |
18 |
i |
分 |
45 |
s |
秒 |
18 |
a |
am或pm |
am |
a |
am或pm |
am |
$stamp=mktime(hour,minute,second,month,day,year);
可以使用getdate()函数返回日期和时间的一组值:
$dates=getdate();
echo $dates['month'];
键 |
值 |
示例 |
year |
年 |
2005 |
mon |
月 |
12 |
month |
月份名称 |
december |
mday |
一月中的某一天 |
25 |
weekday |
星期几 |
tuesday |
hours |
小时数 |
11 |
minutes |
分钟数 |
56 |
seconds |
秒数 |
47 |
复制代码 代码如下:
<body>
<?php
function md($m=null,$d=null,$y=null)
{
$months=array(1=>'january','february','march','april','may','june','july','augst','september','october','november','december');
echo '<select name="month">';
foreach($months as $key=>$value)
{
echo "<option value=\"$key\"";
if($key==$m){echo 'selected="selected"';}
echo ">$value</option>\n";
}
echo '</select>';
echo '<select name="day">';
for($day=1;$day<=31;$day++)
{
echo "<option value=\"$day\"";
if($day==$d)
{
echo 'selected="selected"';
}
echo ">$day</option>\n";
}
echo '</select>';
echo '<select name="year">';
for($year=2001;$year<=2015;$year++)
{
echo "<option value=\"$year\"";
if($year==$y)
{
echo 'selected="selected"';
}
echo ">$year</option>\n";
}
echo '</select>';
}
echo '<h1 id="mainhead">select a date:</h1><p><br/><p><form method="post">';
$dates=getdate();
md($dates['mon'],$dates['mday'],$dates['year']);
echo '</form></p><br/></p>';
echo '<p>today is'.date('l').'. the current time is'.date('h:i a').'.</p>';
?>
</body>
格式化日期函数:
date_format('2005-05-20',%m,%d,%y);
技巧总结
php的日期函数反映了服务器上的事件(因为php运行在服务器上);如果想确定客户计算机上的日期和时间,则需要使用javascript;
checkdate()函数带3个参数——月份、天和年份——并检查它是否是一个有效的日期(现在或过去实际存在的日期)。
发送电子邮件
mail($to,$subject,$body);
$to值应该是一个电子邮件地址或一系列地址,中间用逗号隔开。
$subject值将创建电子邮件的主题行,
$body可用于在其中设置电子邮件的内容。
在创建电子邮件正文时,可以在双引号内使用换行符(\n),使文本分布在多行上。
$mail()函数带有四个可选参数,用于额外的电子邮件头部。在此可以设置from(发件人)、reply-to(回复)、cc(抄送)、bcc(密件抄送)以及类似的设置。
eg:
mail('fanchangfa@126.com','question regardingscript 3.13',$body,'from:killman@hotmail.com');
要在电子邮件中使用多个不同类型的头部,可以用\r\n把他们隔开:
$headers="from:john@hotmail.com\r\n";
$headers.="cc:jane@hotmail.com,joe@hotmail.com\r\n";
mail('fanchangfa@126.com','question','$body,$headers');