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);

 

你可能感兴趣的:(PHP)