php递归操作目录 递归对参数转义

header("Content-type:text/html;charset=utf-8");

//递归读取目录
function reddir($path,$level=0) { $dh = opendir($path); while(($row = readdir($dh)) !== false) { if($row == '.' || $row == '..') continue; echo str_repeat('&nbsp',$level*6) . $row . '<br />'; if(is_dir($path . '/' . $row)) reddir($path . '/' . $row , $level+1); } closedir($dh); } reddir($path);
//递归删除目录
function deldir($path,$level=0)
{
    //不是目录,直接返回
    if(!is_dir($path))
        return NULL;
    $dh = opendir($path);
    while(($row = readdir($dh)) != false)
    {
        if($row == '.' || $row == '..')
            continue;
        //判断是否是普通文件
        if(!is_dir($path . '/' . $row))
            unlink($path . '/' . $row);
        else
            deldir($path . '/' . $row , $level+1);//递归把子目录删除
    }
    closedir($dh);
    rmdir($path);
    return true;
}
deldir($path);
//递归对参数进行转义
function _als($param)
{
    $arr = array();
    if(is_array($param))
    {
        foreach($param as $k=>$v)
        {
            if(is_array($v))
                $arr[$k] = _als($v);
            else
                $arr[$k] = addslashes($v);
        }
        return $arr;
    }
    else
        return addslashes($param);
}

$arr = array('a' => "'a'",array('a' => "'a'",'b'=>array('a' => "'a'",array('a' => "'a'",'b'=>array('a' => "'a'",array('a' => "'a'",'b'=>array('a' => "'a'",'b'=>array('a' => "'a'"))))))));
$arr = _als($arr);
print_r($arr);
原文地址:https://www.cnblogs.com/chenqionghe/p/4230900.html