php小知识总结

1.递归函数

function demo($num){
        echo $num."
"
; if($num>0) demo($num-1); else echo "--------------------
"
; echo $num."
"
; } demo(10);

即输出 10 9 8 7 6 5 4 3 2 1 0

2.PHP相对路径和绝对路径常见处理方法
使用dirname(FILE)获取当前文件的目录路径,
比如:
require_once(dirname(FILE).”../include/cfg.php”);
  

使用下面的这个语句可以把当前目录设置为当前文件的目录路径,也较为方便,尤其是交叉引用的时候非常有用。

3.PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台!

//取得指定文件夹的目录名称
        function get_dir_name($dir_path,$file)
        {
            $dirpath = $dir_path;
            $dir = scandir($dirpath);
            foreach ($dir as $key=>$value)
            {
                if (is_dir($dirpath.'/'.$value) && $value != '.' && $value != '..')
                {
                    //echo $dirpath.'/'.$value.'/'.$file;                    
                    //在目录下生成一个config.php文件,当然这个文件可以自己定义了
                    if (!file_exists($dirpath.'/'.$value.'/'.$file))
                    {                                                
                        $fo = fopen($dirpath.'/'.$value.'/'.$file,'xb+');    //在这里的时候,我之前尝试用w+,结果失败,
                        //在windows 下,我有创建成功,请注意了!所有建议用xb+,兼容多平台
                        chmod($file,"0777");
                        fwrite( $fo,'i is a zongzi ,here is config file!') or die('配置文件创建失败!请检查是否有此目录和文件的操作权限!');
                        fclose($fo);                                                                        
                    }
                    $arr[] = $value;
                }
            }        
            return $arr;
        }

4.PHP目录操作函数

mkdir();函数

php创建文件夹和文件
///创建文件夹
function createdir($dir)
{
if(file_exists($dir) && is_dir($dir)){//如果存在这个文件并且这个文件是个目录就不动作
}
else{
   mkdir($dir,0777);//否则就创造这个目录
}
}

file_exists();函数

file_exists -- 检查文件或目录是否存在
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
    print "The file $filename exists";
} else {
    print "The file $filename does not exist";
}
?>

is_dir();函数

is_dir();测试文件是否为目录。
为目录就返回true,不就返回false


is_file();

Is_File('目标文件路径和文件名')
为文件返回"True",不为文件返回"False"。


is_link();
文件系统函数库

is_link();测试文件是否为链接文件。
true 值则表示指定的 filename 存在并为符号链接文件.

rmdir 命令
功能:删除空目录
rmdir [选项] dirname 
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

要清空并除去目录,请输入: 
rm mydir/* mydir/.*
rmdir mydir
该命令除去 mydir 文件中的内容接着除去空目录。rm 命令显示一条关于尝试除去目录 .(点)和.. (点,点)的错误消息,然后 rmdir 命令除去它们。


建立一个文件名字为aa.txt 
$fp=fopen('aa.txt',   'w+');   //建立一新文件   
chmod('aa.txt',   0777);   //设定权限,不然的话建立后无法修改,删除   //好象这行不用也可以 
fwrite($fp,   '要写入的内容');   //写内容   
fclose($fp);   //关闭文件

unlink()函数
功能:删除文件
unlink($filename)删除文件名为$filename的文件


删除指定目录下的所有文件
function dir_clear($dir) { 
    $directory = dir($dir);                //创建一个dir类(Php手册上这么说的),用来读取目录中的每一个文件 
    while($entry = $directory->read()) {   //循环每一个文件,并取得文件名$entry 
        $filename = $dir.'/'.$entry;       //取得完整的文件名,带路径的 
        if(is_file($filename)) {           //如果是文件,则执行删除操作 
            @unlink($filename); 
        } 
    } 
    $directory->close();                   //关闭读取目录文件的类 
    result(); 
}
删除指定目录下的所有文件以及所有文件夹以及本身***强烈推荐这种方法!!! 
function rmdir_tree($dirname)//定义一个函数rmdir_tree,要删除的文件名为$dirname
{
$handle=opendir($dirname);//打开名为$dirname的文件夹
while ($file=readdir($handle)) //跑回圈读取打开的文件夹
{
    if (($file==".") || ($file=="..")) continue;//继续跑的条件,如果不满足就不跑了
    $fullname=$dirname."/".$file;//完整的文件名(包括路径)
    if (filetype($fullname)=="dir")
      rmdir_tree($fullname);//调用刚刚定义的函数,实现递归
    else
      unlink($fullname);//删除文件
}
closedir($handle);//关闭打开了的文件夹
rmdir($dirname);//删除自身(文件夹)
}

你可能感兴趣的:(Yii)