/*
1、嵌入方法:
类似ASP的<%,PHP可以是<?php或者是<?,结束符号是?>,当然您也可以自己指定。
2、引用文件:
引用文件的方法有两种:require及include。
require的使用方法如:require("MyRequireFile.php");
这个函数通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include使用方法如:include("MyIncludeFile.php");
这个函数一般是放在流程控制的处理部分中。PHP程序网页在读到include的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
echo "这是第一种例子。 " ; // 本例是C++语法的注释
本例采用多行的
注释方式
echo "这是第二种例子。 " ;
echo "这是第三种例子。 " ; # 本例使用UNIX Shell语法注释
4、变量类型:
代码如下 | 复制代码 |
$mystring = "我是字符串" ; $NewLine = "换行了 " ; $int1 = 38 ; $float1 = 1.732 ; $float2 = 1.4E+2 ; |
$MyArray1 = array( "子" , "丑" , "寅" , "卯" );
这里引出两个问题,首先PHP变量以$开头,第二PHP语句以;结尾,可能ASP程序员会不适应。这两个遗漏也是程序上大多错误所在。
5、运算符号:
数学运算:
符号 意义
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 取余数
++ 累加
-- 递减
字符串运算:
运算符号只有一个,就是英文的句号。它可以将字符串连接起来,变成合并的新字符串。类似ASP中的&
<?
$a = "PHP 4" ;
$b = "功能强大" ;
echo $a.$b;
?>
这里也引出两个问题,首先PHP中输出语句是echo,第二类似ASP中的<%=变量%>,PHP中也可以<?=变量?>。
逻辑运算:
符号 意义
< 小于
> 大于
<= 小于或等于
>= 大于或等于
== 等于
!= 不等于
&& 而且 (And)
and 而且 (And)
|| 或者 (Or)
or 或者 (Or)
xor 异或 (Xor)
! 不 (Not)
代码如下 | 复制代码 |
function DeltreeDir($dir) { $dir = realpath($dir); if (!$dir || !@is_dir($dir)) return 0; $handle = @opendir($dir); if ($dir[strlen($dir) - 1] != DIRECTORY_SEPARATOR) $dir .= DIRECTORY_SEPARATOR; while ($file = @readdir($handle)) { if ($file != '.' && $file != '..') { if (@is_dir($dir . $file) && !is_link($dir . $file)) DeltreeDir($dir . $file); else @unlink($dir . $file); } } closedir($handle); @rmdir($dir); } |
//实例二
//循环删除目录和文件函数
代码如下 | 复制代码 |
function delDirAndFile( $dirName ) { if ( $handle = opendir( "$dirName" ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { if ( $item != "." && $item != ".." ) { if ( is_dir( "$dirName/$item" ) ) { delDirAndFile( "$dirName/$item" ); } else { if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item<br /> "; } } } closedir( $handle ); if( rmdir( $dirName ) )echo "成功删除目录: $dirName<br /> "; } } |
// 实例三
代码如下 | 复制代码 |
function delFileUnderDir( $dirName="../Smarty/templates/templates_c" ) { if ( $handle = opendir( "$dirName" ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { if ( $item != "." && $item != ".." ) { if ( is_dir( "$dirName/$item" ) ) { delFileUnderDir( "$dirName/$item" ); } else { if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item<br /> "; } } } closedir( $handle ); } } |
delDirAndFile( 'www.111cn.net');
//上面三种删除目录与目录下所有文件与空目录的实例,都是以遍历来做,也就是递归来一个个讲再判断就OK了。
// 函数名:CheckMoney($C_Money)
// 作 用:检查数据是否是99999.99格式
// 参 数:$C_Money(待检测的数字)
// 返回值:布尔值
// 备 注:无
//-----------------------------------------------------------------------------------
-------
代码如下 | 复制代码 |
function CheckMoney($C_Money) { if (!ereg("^[0-9][.][0-9]$", $C_Money)) return false; return true; } |
//-----------------------------------------------------------------------------------
-------
//-----------------------------------------------------------------------------------
-------
// 函数名:CheckEmailAddr($C_mailaddr)
// 作 用:判断是否为有效邮件地址
// 参 数:$C_mailaddr(待检测的邮件地址)
// 返回值:布尔值
// 备 注:无
//-----------------------------------------------------------------------------------
-------
代码如下 | 复制代码 |
function CheckEmailAddr($C_mailaddr) { if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$", $C_mailaddr)) //(!ereg("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $c_mailaddr)) { return false; } return true; } |
//-----------------------------------------------------------------------------------
-------
//-----------------------------------------------------------------------------------
-------
// 函数名:CheckWebAddr($C_weburl)
// 作 用:判断是否为有效网址
// 参 数:$C_weburl(待检测的网址)
// 返回值:布尔值
// 备 注:无
//-----------------------------------------------------------------------------------
-------
代码如下 | 复制代码 |
function CheckWebAddr($C_weburl) { if (!ereg("^http://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $C_weburl)) { return false; } return true; } |
//-----------------------------------------------------------------------------------
-------
//-----------------------------------------------------------------------------------
-------
// 函数名:CheckEmpty($C_char)
// 作 用:判断字符串是否为空
// 参 数:$C_char(待检测的字符串)
// 返回值:布尔值
// 备 注:无
//-----------------------------------------------------------------------------------
-------
代码如下 | 复制代码 |
function CheckEmptyString($C_char) { if (!is_string($C_char)) return false; //是否是字符串类型 if (emptyempty($C_char)) return false; //是否已设定 if ($C_char=='') return false; //是否为空 return true; } |
//-----------------------------------------------------------------------------------
-------
//-----------------------------------------------------------------------------------
-------
// 函数名:CheckLengthBetween($C_char, $I_len1, $I_len2=100)
// 作 用:判断是否为指定长度内字符串
// 参 数:$C_char(待检测的字符串)
// $I_len1 (目标字符串长度的下限)
// $I_len2 (目标字符串长度的上限)
// 返回值:布尔值
// 备 注:无
//-----------------------------------------------------------------------------------
-------
代码如下 | 复制代码 |
function CheckLengthBetween($C_cahr, $I_len1, $I_len2=100) { $C_cahr = trim($C_cahr); if (strlen($C_cahr) < $I_len1) return false; if (strlen($C_cahr) > $I_len2) return false; return true; } |
//-----------------------------------------------------------------------------------
-------
//-----------------------------------------------------------------------------------
-------
// 函数名:CheckUser($C_user)
// 作 用:判断是否为合法用户名
// 参 数:$C_user(待检测的用户名)
// 返回值:布尔值
// 备 注:无
//-----------------------------------------------------------------------------------
-------
代码如下 | 复制代码 |
function CheckUser($C_user) { if (!CheckLengthBetween($C_user, 4, 20)) return false; //宽度检验 if (!ereg("^[_a-zA-Z0-9]*$", $C_user)) return false; //特殊字符检验 return true; } |
//-----------------------------------------------------------------------------------
-------
//-----------------------------------------------------------------------------------
-------
// 函数名:CheckPassword($C_passwd)
// 作 用:判断是否为合法用户密码
// 参 数:$C_passwd(待检测的密码)
// 返回值:布尔值
// 备 注:无
//-----------------------------------------------------------------------------------
-------
代码如下 | 复制代码 |
function CheckPassword($C_passwd) { if (!CheckLengthBetween($C_passwd, 4, 20)) return false; //宽度检测 if (!ereg("^[_a-zA-Z0-9]*$", $C_passwd)) return false; //特殊字符检测 return true; |
代码如下 | 复制代码 |
function poVarExport($input,$f = true,$t = null) { |
poWrite(INCLUDES."filename.php","<?php $celltype = ".poVarExport($arrayname)."; ?>");
/*
至于发邮件就更加简单,可以使用mail()函数mail("收件人地址","主题","正文","From:发件人 Reply-to:发件人的地址");
不过mail()需要服务器的支持,在WINDOWS下还需要配置SMTP服务器,一般来说外面的LINUX空间都行。
好像上传文件和发邮件比ASP简单很多,只要调用函数就可以了。ASP还需要用到服务器的不同组件比如FSO、JMAIL什么的。
下面来看文件上传实例
传文件表单必须加上enctype="multipart/form-data"和<input type="file" name="file">
代码如下 | 复制代码 |
$f=&$HTTP_POST_FILES['file']; $dest_dir='uploads';//设定上传目录 $dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//我这里设置文件名为日期加上文件名避免重复 $r=move_uploaded_file($f['tmp_name'],$dest); chmod($dest, 0755);//设定上传的文件的属性 |
上传的文件名为date("ymd")."_".$f['name'] ,可以在以后插入到数据库教程的时候用到,PHP实际上是把你上传的文件从临时目录移动到指定目录。
move_uploaded_file($f['tmp_name'],$dest);这是关键