使用PHP编写电子商务系统我们可以如何在里面进行嵌套和编写保护语句 5
2个回答
展开全部
<?
/**
* 搜索指定目录
*
* @param string $dirName 从哪个节点开始, 一般都是 './' 当前目录
* @param int $dir 搜索目录的深度 当前目录是 1
* @param int $level 计数用,不要传值
* @return array
*/
function getDir( $dirName ,$dir , $level= 1 )
{
/* 设置临时数组 */
$tmp = array();
/* 打开路径 */
if ( $handle = opendir( "$dirName" ) )
{
/* 打开传入路径的句柄 */
while ( false !== ( $item = readdir( $handle ) ) )
{
/* ..是上一级目录 .是当前 都排除掉 */
if ( $item != "." && $item != ".." )
{
/* 检查当前搜索是目录还是文件 */
if ( is_dir( "$dirName/$item" ) )
{
$level_ = $level+1;
if ($dirName=='./')
{
/* 如果当前目录深度和指定一样 */
if ($level==$dir)
{
$tmp[] = "$item" ;
}
else
{
$tmp = array_merge($tmp,getDir( $item ,$dir,$level_));
}
}
else
{
if ($level==$dir)
{
$tmp[] = "$dirName/$item" ;
}
else
{
$tmp = array_merge($tmp,getDir( "$dirName/$item", $dir , $level_));
}
}
}
}
}
closedir( $handle );
}
return $tmp;
}
echo '<pre>';
print_r(getDir('./',2));
?>
/**
* 搜索指定目录
*
* @param string $dirName 从哪个节点开始, 一般都是 './' 当前目录
* @param int $dir 搜索目录的深度 当前目录是 1
* @param int $level 计数用,不要传值
* @return array
*/
function getDir( $dirName ,$dir , $level= 1 )
{
/* 设置临时数组 */
$tmp = array();
/* 打开路径 */
if ( $handle = opendir( "$dirName" ) )
{
/* 打开传入路径的句柄 */
while ( false !== ( $item = readdir( $handle ) ) )
{
/* ..是上一级目录 .是当前 都排除掉 */
if ( $item != "." && $item != ".." )
{
/* 检查当前搜索是目录还是文件 */
if ( is_dir( "$dirName/$item" ) )
{
$level_ = $level+1;
if ($dirName=='./')
{
/* 如果当前目录深度和指定一样 */
if ($level==$dir)
{
$tmp[] = "$item" ;
}
else
{
$tmp = array_merge($tmp,getDir( $item ,$dir,$level_));
}
}
else
{
if ($level==$dir)
{
$tmp[] = "$dirName/$item" ;
}
else
{
$tmp = array_merge($tmp,getDir( "$dirName/$item", $dir , $level_));
}
}
}
}
}
closedir( $handle );
}
return $tmp;
}
echo '<pre>';
print_r(getDir('./',2));
?>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询