文件目录遍历的问题

gsntec 2013-07-31 10:47:16
原本是文件是显示第二层目录文件,我想让它显示第三层的文件,第二层的文件名以日期命名,第三层的文件以英文字母a、b、c等命名。弄了半天也没弄好,请教大神了。代码显示不下了,这是前半部分,主要包括文件目录的遍历。


<?php
$Lang='zh';
$psp = $_GET['sp'] + 0;
$ptt = $_GET['pt'] + 0;
if($psp <= 0 || $psp > 2) $psp = 1;
if($ptt <= 0 || $ptt > 5) $ptt = 1;
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" media="screen" href="/gnss/css/default.css">
<script type="text/javascript" src="/gnss/script/xmlhttp.js"></script>
<script type="text/javascript" src="/gnss/script/table.js"></script>
<script type="text/javascript" src="/gnss/script/date.js"></script>
<title>WEB管理系统 - 数据下载</title>
</head>
<?php
include_once($_SERVER['DOCUMENT_ROOT'].'/gnss/core/db.php');
include_once($_SERVER['DOCUMENT_ROOT'].'/gnss/core/scanfile.php');
$dbh = DB_URL::get_dbh();

$str = '';
$latest = 0;
$basedir = ($psp == 1? $_SERVER['DOCUMENT_ROOT']."/gnss/bin": $_SERVER['DOCUMENT_ROOT']."/gnss/mnt")."/Storage";


@$handle=opendir($basedir);
if($handle != NULL)
{
while ($dir = readdir($handle))
{
@$hand = opendir("$basedir/$dir");

if(is_dir("$basedir/$dir") && $dir != '.' && $dir != '..')
{

@$handle_inner=opendir("$basedir/$dir");
if($handle_inner != NULL)
{
while ($file = readdir($handle_inner))
{
if(!is_dir("$basedir/$dir/$file") && $file != '.' && $file != '..')
{
$str .= '"'.$dir.'",';
if($dir > $latest) $latest = $dir;
break;
}
}
}
}
}
@closedir($handle);
}
if(substr($str, -1) == ',') $str = substr($str, 0, -1);
if($latest == 0) $latest = date("Ymd");

if($_POST['post'] == 1)
{
$y = $_POST['year'];
$m = $_POST['month'];
$d = $_POST['date'];
}
else
{
if($_GET['dt'] != '')
{
$latest = $_GET['dt'];
}

$y = substr($latest, 0, 4);
$m = substr($latest, 4, 2);
$d = substr($latest, 6, 2);
}
$auth = 1;
$super = $auth == 1;
$auth = $auth > 0 && $auth < 3;
?>

<?php
function divide($number, $shutup = false)
{
$fmt = $shutup? "%d": "%.2f";
if($number >= 1024.0)
{
$number /= 1024.0;
if($number >= 1024.0)
{
$number /= 1024.0;
if($number >= 1024.0)
{
$number /= 1024.0;
$parts = explode('.', sprintf("%.3f", $number));
$digits = str_split($parts[0]);
$out = '';
$t = 2;
for($i = count($digits)- 1; $i>=0; $i--)
{
$out = $digits[$i].$out;
if($t == 0 && $i != 0)
{
$out = ','.$out;
$t = 3;
}
$t--;
}

return $out.'.'.$parts[1].' GB';
}
else
{
return sprintf($fmt, $number).' MB';
}
}
else
{
return sprintf($fmt, $number).' KB';
}
}
else
{
return floor($number).' B';
}
}
?>
<body>
<script type="text/javascript">
<?php echo "var dirs = new Array($str);\nvar dirnum = dirs.length;"; ?>
</script>

...全文
61 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧