首页 > 编程技术 > php

php入门教程-第一课

发布时间:2016-11-25 15:56

/*
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 poWrite($filename,$data,$method='rb+',$iflock=1,$check=1,$chmod=1){   
    touch($filename);   
    $handle = fopen($filename,$method);   
    $iflock && flock($handle,LOCK_EX);   
    if(@fwrite($handle,$data)=== FALSE){   
        fclose($handle);   
        return false;   
    }   
    $method=='rb+' && ftruncate($handle,strlen($data));   
    fclose($handle);   
    $chmod && @chmod($filename,0777);   
    return true;   
}

function poVarExport($input,$f = true,$t = null) {   
    $output = '';   
    if(is_array($input)){   
        $output .= "array( ";   
        foreach($input as $key => $value){   
            $output .= $t." ".poVarExport($key,$f,$t." ").' => '.poVarExport($value,$f,$t." ");   
            $output .= ", ";   
        }   
        $output .= $t.')';   
    } elseif(is_string($input)){   
        $output .= $f ? "'".str_replace(array("\","'"),array("\\","'"),$input)."'" : "'$input'";  
    } elseif(is_int($input) || is_double($input)){  
        $output .= "'".(string)$input."'";   
    } elseif(is_bool($input)){   
        $output .= $input ? 'true' : 'false';   
    } else{   
        $output .= 'null';   
    }   
    return $output;   
}   

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);这是关键

标签:[!--infotagslink--]

您可能感兴趣的文章: