php模拟服务器实现autoindex效果的方法

yipeiwu_com6年前服务器

本文实例讲述了php模拟服务器实现autoindex效果的方法。分享给大家供大家参考。具体实现方法如下:

1.PHP代码如下:

复制代码 代码如下:
<?php
//文件浏览程序
error_reporting(0);
$pwd = empty($_GET['dir']) ? './' : $_GET['dir'];
$pwd = realpath($pwd);
if(is_file($pwd)) {
    highlight_file ($pwd);
    exit;
}else
    $it = new FilesystemIterator($pwd);
?>
<html>
<head>
    <title>pwd of <?php echo $pwd ?></title>
</head>
<body bgcolor="white">
    <h1>pwd of <?php echo $pwd ?></h1><hr>
    <pre><a href="?dir=<?php echo dirname($pwd)?>">../</a>
<?php
foreach ($it as $file){
    if($file->isDir()) {
        $fileSize = '_';
        $fileName = $file->getFilename() . '/';
    } elseif($file->isFile()) {
        $fileSize =  $file->getSize();
        $fileName = $file->getFilename();
    }
    $date = date('Y-m-d H:i',$file->getCTime());
?><a href="?dir=<?php echo $file->getRealPath()?>"><?php echo $fileName ?></a><?php echo str_pad($date, 60-strlen($fileName),' ',STR_PAD_LEFT)?><?php echo str_pad($fileSize,30,' ',STR_PAD_LEFT)?>
<?php }?></pre><hr>
</body>
</html>

2. 运行效果如下图所示:

希望本文所述对大家的php程序设计有所帮助。

相关文章

Windows服务器中PHP如何安装redis扩展

Windows服务器中PHP如何安装redis扩展

一、总结 一句话总结:下载扩展的dll,放入指定文件夹(php对应的扩展的目录php/ext),在配置文件php.ini中注册dll 尽量不要选择最新版php和redis扩展,下载时文件...

python实现对服务器脚本敏感信息的加密解密功能

背景 在实际项目实施中,会编写很多在服务器执行的作业脚本。程序中凡是涉及到数据库链接、操作系统用户链接、IP地址、主机名称的内容都是敏感信息。在纯内网系统中往因为开发时间紧迫,往往都直接...

如何使用php判断所处服务器操作系统的类型

我本机开发用的是winXP,但是上传的服务器是linux,每次上传前总是要改一下配置文件,还有其他一些什么的,现在通过判断当前服务器的类型来决定执行什么样的程序,那么php如何判断所处服...

基于并发服务器几种实现方法(总结)

今天主题是实现并发服务器,实现方法有多种版本,先从简单的单进程代码实现到多进程,多线程的实现,最终引入一些高级模块来实现并发TCP服务器。 说到TCP,想起吐槽大会有个段子提到三次握手,...

Apache服务器无法使用的解决方法

原因一:80端口占用例如IIS,另外就是迅雷。我的apache服务器就是被迅雷害得无法启用!原因二:软件冲突装了某些软件会使apache无法启动如Dr.com 你打开网络连接->T...