简易文件目录浏览器PHP代码
来源:互联网 发布:歌曲后期制作软件手机 编辑:程序博客网 时间:2024/05/16 03:51
简易文件目录浏览器PHP代码
<?
/**
* 对文件 路径进行编码
*
* @param string $path
*/
function encodePath($path)
{
$tmp_array = explode('/', $path);
foreach ($tmp_array as $key => $value)
{
if ($value == '') //删除空内容
unset($tmp_array[$key]);
$tmp_array[$key]=rawurlencode($value);
}
return implode("/", $tmp_array);
}
/**
* 显示验证的输入窗口
* @param string $user 用户名
* @param string $pass 密码
* @access public
*/
function webAuthenticate($user,$pass)
{
if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || !isset($user) || !isset($pass)
|| $_SERVER['PHP_AUTH_USER']!=$user | $_SERVER['PHP_AUTH_PW']!=$pass
)
{
header('WWW-Authenticate: Basic realm="Authentication System"');
header('HTTP/1.0 401 Unauthorized');
echo "You must enter a valid login ID and password to access this resource ";
exit;
}
return true;
}
if(!webAuthenticate("ggg","123")) //验证用户
{
die();
}
//2005-4-11
//显示当前目录下的文件
$_CONFIG["SiteName"]="文件下载系统 by ggg "; //网站名称
$_CONFIG["SiteUrl"]="http://soft.zggo.com"; //网站地址
?>
<html>
<head>
<title><?print($_CONFIG["SiteName"])." ".$_CONFIG["SiteUrl"];?></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
A:link {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: 宋体; TEXT-DECORATION: none
}
A:active {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: 宋体; TEXT-DECORATION: none
}
A:visited {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: 宋体; TEXT-DECORATION: none
}
A:hover {
FONT-SIZE: 12px; COLOR: #999999; FONT-FAMILY: 宋体; TEXT-DECORATION: underline
}
BODY {
WORD-BREAK: break-all; LINE-HEIGHT: 150%
}
TD {
FONT-SIZE: 12px; FONT-FAMILY: 宋体
}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center><font color=#ee0000><?print($_CONFIG["SiteName"]);?></font>
<br><a href=<?print($_CONFIG["SiteUrl"]);?>><?print($_CONFIG["SiteUrl"]);?></a></center>
<table border=1 width=98% align="center" bordercolordark="#FFFFFF" cellpadding="2" cellspacing="2">
<tr>
<?
$_DIR_PATH="./";
if(!empty($_GET["dir"]) && strlen($_GET["dir"])>3 && ".."!=substr($_GET["dir"], 0, 2))
{
$prevRealpath=dirname($_GET["dir"]); //得到上一层的目录
if(substr($_GET["dir"], -1) != '/')
{ $_GET["dir"] .= '/';
}
$_DIR_PATH=$_GET["dir"];
// print($_DIR_PATH);
// die();
print("<td>当前目录路径:[<b>".$_DIR_PATH."</b>]</td>");
print("<td align=right>");
print(" <a href='?dir='>");
print("[返回根目录]");
print("</a>");
print(" <a href='?dir=".rawurlencode($prevRealpath)."'>");
print("返回上一层目录");
print("</a> ");
print("</td>");
}
$numb=0;
if(empty($_DIR_PATH))
$DIRObject=dir("./");
else
$DIRObject=dir($_DIR_PATH);
?>
</tr></table>
<table border=1 width=98% align="center" bordercolordark="#FFFFFF" cellpadding="2" cellspacing="2">
<?
while($tmp_Str=$DIRObject->read())
{
if($tmp_Str!="."&&$tmp_Str!="..")
{
$numb++;
print("<tr>");
if(is_dir($DIRObject->path.$tmp_Str)) //是目录
{
print("<td align=center>");
print(strftime("%Y-%m-%d %H:%M:%S",filemtime($_DIR_PATH.$tmp_Str)));
print(" </td>");
print("<td>");
print("<a href='?dir=".encodePath($_DIR_PATH.$tmp_Str)."'>");
print("[<font color=red>目录</font>] ");
print("</a>");
print(" </td>");
print("<td>");
print("<a href='?dir=".encodePath($_DIR_PATH.$tmp_Str)."'>");
print($tmp_Str);
print("</a>");
print(" </td>");
}
else //其他显示的文件
{
if(strstr($tmp_Str,".php") || strstr($tmp_Str,".asp") ) //不显示 .php .asp的文件
continue;
print("<td align=center>");
print(strftime("%Y-%m-%d %H:%M:%S",filemtime($_DIR_PATH.$tmp_Str)));
print(" </td>");
print("<td>");
print(filesize($_DIR_PATH.$tmp_Str)."");
$kbSize=round(filesize($_DIR_PATH.$tmp_Str)/1000,2);
$mbSize=round($kbSize/1000,2);
if($mbSize>1)
print("[".$mbSize."MB]");
else
print("[".$kbSize."KB]");
print(" </td>");
print("<td>");
print("<a target=_blank href='".encodePath($_DIR_PATH.$tmp_Str)."'>");
print($tmp_Str); //$_DIR_PATH.
print("</a>");
print(" </td>");
}
print("</tr>");
//if($numb%5==0)
// print("</tr><tr>");
}
}
$DIRObject->close();
?>
</table>
</body>
</html>
/**
* 对文件 路径进行编码
*
* @param string $path
*/
function encodePath($path)
{
$tmp_array = explode('/', $path);
foreach ($tmp_array as $key => $value)
{
if ($value == '') //删除空内容
unset($tmp_array[$key]);
$tmp_array[$key]=rawurlencode($value);
}
return implode("/", $tmp_array);
}
/**
* 显示验证的输入窗口
* @param string $user 用户名
* @param string $pass 密码
* @access public
*/
function webAuthenticate($user,$pass)
{
if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || !isset($user) || !isset($pass)
|| $_SERVER['PHP_AUTH_USER']!=$user | $_SERVER['PHP_AUTH_PW']!=$pass
)
{
header('WWW-Authenticate: Basic realm="Authentication System"');
header('HTTP/1.0 401 Unauthorized');
echo "You must enter a valid login ID and password to access this resource ";
exit;
}
return true;
}
if(!webAuthenticate("ggg","123")) //验证用户
{
die();
}
//2005-4-11
//显示当前目录下的文件
$_CONFIG["SiteName"]="文件下载系统 by ggg "; //网站名称
$_CONFIG["SiteUrl"]="http://soft.zggo.com"; //网站地址
?>
<html>
<head>
<title><?print($_CONFIG["SiteName"])." ".$_CONFIG["SiteUrl"];?></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
A:link {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: 宋体; TEXT-DECORATION: none
}
A:active {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: 宋体; TEXT-DECORATION: none
}
A:visited {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: 宋体; TEXT-DECORATION: none
}
A:hover {
FONT-SIZE: 12px; COLOR: #999999; FONT-FAMILY: 宋体; TEXT-DECORATION: underline
}
BODY {
WORD-BREAK: break-all; LINE-HEIGHT: 150%
}
TD {
FONT-SIZE: 12px; FONT-FAMILY: 宋体
}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center><font color=#ee0000><?print($_CONFIG["SiteName"]);?></font>
<br><a href=<?print($_CONFIG["SiteUrl"]);?>><?print($_CONFIG["SiteUrl"]);?></a></center>
<table border=1 width=98% align="center" bordercolordark="#FFFFFF" cellpadding="2" cellspacing="2">
<tr>
<?
$_DIR_PATH="./";
if(!empty($_GET["dir"]) && strlen($_GET["dir"])>3 && ".."!=substr($_GET["dir"], 0, 2))
{
$prevRealpath=dirname($_GET["dir"]); //得到上一层的目录
if(substr($_GET["dir"], -1) != '/')
{ $_GET["dir"] .= '/';
}
$_DIR_PATH=$_GET["dir"];
// print($_DIR_PATH);
// die();
print("<td>当前目录路径:[<b>".$_DIR_PATH."</b>]</td>");
print("<td align=right>");
print(" <a href='?dir='>");
print("[返回根目录]");
print("</a>");
print(" <a href='?dir=".rawurlencode($prevRealpath)."'>");
print("返回上一层目录");
print("</a> ");
print("</td>");
}
$numb=0;
if(empty($_DIR_PATH))
$DIRObject=dir("./");
else
$DIRObject=dir($_DIR_PATH);
?>
</tr></table>
<table border=1 width=98% align="center" bordercolordark="#FFFFFF" cellpadding="2" cellspacing="2">
<?
while($tmp_Str=$DIRObject->read())
{
if($tmp_Str!="."&&$tmp_Str!="..")
{
$numb++;
print("<tr>");
if(is_dir($DIRObject->path.$tmp_Str)) //是目录
{
print("<td align=center>");
print(strftime("%Y-%m-%d %H:%M:%S",filemtime($_DIR_PATH.$tmp_Str)));
print(" </td>");
print("<td>");
print("<a href='?dir=".encodePath($_DIR_PATH.$tmp_Str)."'>");
print("[<font color=red>目录</font>] ");
print("</a>");
print(" </td>");
print("<td>");
print("<a href='?dir=".encodePath($_DIR_PATH.$tmp_Str)."'>");
print($tmp_Str);
print("</a>");
print(" </td>");
}
else //其他显示的文件
{
if(strstr($tmp_Str,".php") || strstr($tmp_Str,".asp") ) //不显示 .php .asp的文件
continue;
print("<td align=center>");
print(strftime("%Y-%m-%d %H:%M:%S",filemtime($_DIR_PATH.$tmp_Str)));
print(" </td>");
print("<td>");
print(filesize($_DIR_PATH.$tmp_Str)."");
$kbSize=round(filesize($_DIR_PATH.$tmp_Str)/1000,2);
$mbSize=round($kbSize/1000,2);
if($mbSize>1)
print("[".$mbSize."MB]");
else
print("[".$kbSize."KB]");
print(" </td>");
print("<td>");
print("<a target=_blank href='".encodePath($_DIR_PATH.$tmp_Str)."'>");
print($tmp_Str); //$_DIR_PATH.
print("</a>");
print(" </td>");
}
print("</tr>");
//if($numb%5==0)
// print("</tr><tr>");
}
}
$DIRObject->close();
?>
</table>
</body>
</html>
- 简易文件目录浏览器PHP代码
- 浏览器解析PHP文件 出现纯代码
- php 简易分页代码
- java简易图片浏览器代码
- Andorid 文件浏览器简易实现
- 理解NTFS文件系统,自制简易目录浏览器
- PHP遍历目录文件中的文件经典代码
- 使用XML布局文件和java代码共同控制UI界面做一个简易图片浏览器
- php 文件下载的相关代码 兼容所有浏览器
- 浏览器chrome调试js代码简易教程
- php简易生成excel文件
- php上传文件,创建递归目录的实例代码
- php读取目录所有文件信息实现代码
- 一行php代码删除指定目录下的所有文件
- 浏览器通过apache访问php文件提示下载问题,更改项目文件目录
- PHP 文件浏览器
- PHP操作文件,目录
- php---- 目录与文件
- 杀毒软件介绍
- 生成静态页面——C#+asp.net
- QT-X11-3.1.2.tar.bz2的使用
- 初次用Java联接Mysql
- qt-designer使用教程1--HelloWorld
- 简易文件目录浏览器PHP代码
- qt-designer使用教程2--调用退出
- qt-designer使用教程3--编写自己的槽
- DES加密算法实现脚本
- 这一周的面试经历
- linux网址
- linux常用命令linux自动挂载WinXP系统下的分区
- 使用ADS1.2进行嵌入式软件开发
- 程序员的编程修养