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

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • php实现在服务器上创建目录的方法

    本文实例讲述了php实现在服务器上创建目录的方法.分享给大家供大家参考.具体分析如下: 下面的代码先判断目录是否存在,然后通过mkdir()函数在服务器上创建了一个目录 <?php if (file_exists("/temp/test")) { print("Test Directory already exists.\n"); } else { mkdir("/temp/test"); print("Test Director

  • php递归创建目录的方法

    本文实例讲述了php递归创建目录的方法,分享给大家供大家参考. 具体实现代码如下: <?php function mk_dir($path){ //第1种情况,该目录已经存在 if(is_dir($path)){ return; } //第2种情况,父目录存在,本身不存在 if(is_dir(dirname($path))){ mkdir($path); } //第3种情况,父目录不存在 if(!is_dir(dirname($path))){ mk_dir(dirname($path));//

  • php使用mkdir创建多级目录入门例子

    先介绍一下 mkdir() 这个函数: mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径:第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权:第三个参数:true表示允许创建多级目录. 举例代码(支持创建中文目录): <?php header("Content-type:text/html;charset=utf-8"); //要创建的多级目录 $path="dai/php/php学习"; //判断

  • PHP向socket服务器收发数据的方法

    本文实例讲述了PHP向socket服务器收发数据的方法.分享给大家供大家参考.具体如下: 在PHP要向其它程序发送数据,则需要使用到php的socket功能来实例了,下面我们简单看一个实例,代码如下: 复制代码 代码如下: /*socket收发数据     @host(string) socket服务器IP     @post(int) 端口     @str(string) 要发送的数据     @back 1|0 socket端是否有数据返回     返回true|false|服务端数据 *

  • php上传文件,创建递归目录的实例代码

    复制代码 代码如下: <?php $uid=$_REQUEST['uid']; $avatar = 'D:/avic/discuz/uc_server/data/avatar/'.get_avatar($uid, $size, $type);$dir=dirname($avatar); //创建目录成功后移动临时文件if(mkdirs($dir)){ if($_FILES["pic"]["error"] >= 0){ if(move_uploaded_f

  • php创建多级目录代码

    function createFolder($path) {    if (!file_exists($path))    {     createFolder(dirname($path)); mkdir($path, 0777);    } } createFolder("2007/3/4");//在当前目录下创建2007/3/4的目录结构.

  • php创建和删除目录函数介绍和递归删除目录函数分享

    mkdir() - 新建目录 复制代码 代码如下: – 语法:bool mkdir (string pathname [,int mode]) – 尝试新建一个由 pathname 指定的目录. rmdir() - 删除目录 复制代码 代码如下: – 语法:bool rmdir ( string dirname ) – 尝试删除 dirname 所指定的目录. 该目录必须是空的,而且要有相应的权限.如果成功则返回 TRUE,失败则返回 FALSE. unlink - 删除文件 复制代码 代码如下

  • 服务器上配置PHP运行环境教程

    1.在DOS命令窗口输入 mysql -hlocalhost -uroot -p回车 进入mysql数据库, 其中-h表示服务器名,localhost表示本地:-u为数据库用户名,root是mysql默认用户名:-p为密码,如果设置了密码,可直接在-p后链接输入,  如:-p123456,用户没有设置密码,显示Enter password时,直接回车即可.  注意,如果你的mysql没有安装在C盘下,你需要先使用DOS命令进入mysql的安装目录下的bin目录中. 以我的电脑为例,方法如下:  

  • PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)

    复制代码 代码如下: <?php/*** 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 )* 时间:2006/5/9* 作者:欣然随风* QQ:276624915*/class class_ftp{    public $off; // 返回操作状态(成功/失败)    public $conn_id; // FTP连接    /**     * 方法:FTP连接     * @FTP_HOST -- FTP主机     * @FTP_PORT -- 端口     * @FTP_USER

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

    本文实例讲述了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    

  • jQuery模拟新浪微博首页滚动效果的方法

    本文实例讲述了jQuery模拟新浪微博首页滚动效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xh

  • vue本地模拟服务器请求mock数据的方法详解

    目录 原因 场景 方法 mock资源 配置 vue.config.js + settings.js .env.development + .env.production mock-request.js table.js mockDataTest 代码 总结 原因 1.mockjs本地开发的时候用还好,mock数据需要生产时候用就不大行了 2.mock的数据通过module.exports.export实现的时候,npm run build 生产打包的时候,这些假数据会打包进app.js文件里面,

  • js实现模拟计算器退格键删除文字效果的方法

    本文实例讲述了js实现模拟计算器退格键删除文字效果的方法.分享给大家供大家参考.具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &

  • JS模拟键盘打字效果的方法

    本文实例讲述了JS模拟键盘打字效果的方法.分享给大家供大家参考.具体如下: 这里使用JS模拟实现软键盘及打字效果,点击软键盘年的字母键,文本框中即可显示文字,像是键盘打字的效果,美工不太好,没怎么美化,CSS高手可美化一下按钮,看上去还挺不错吧,我觉得. 先来看看运行效果图: 具体代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb23

  • Python中使用aiohttp模拟服务器出现错误问题及解决方法

    软件版本及环境:Python 3.9 + pycharm 2020.2.1 + Windows10 运行报错: DeprecationWarning: loop argument is deprecated app = web.Application(loop=loop) DeprecationWarning: Application.make_handler(-) is deprecated, use AppRunner API instead srv = await loop.create_

  • 不使用XMLHttpRequest对象实现Ajax效果的方法小结

    本文实例讲述了不使用XMLHttpRequest对象实现Ajax效果的方法.分享给大家供大家参考,具体如下: 前言: 我以前接触Ajax的时候,只是用Jquery的api来实现Ajax效果,对其并没有细细研究,最近在学习Ajax的原理,会不定时的发布关于Ajax的文章,希望大家关注! Ajax原理: 在页面不刷新的情况下,利用XMLHttpRequest发送HTTP请求. 主题: 但是不依靠XMLHttpRequest对象,也是可以实现Ajax效果的,我们可以用Js实现对后台服务器的请求,同时不

  • JS实现FLASH幻灯片图片切换效果的方法

    本文实例讲述了JS实现FLASH幻灯片图片切换效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xh

  • JS实现鼠标箭头变成一个燃烧烛光效果的方法

    本文实例讲述了JS实现鼠标箭头变成一个燃烧烛光效果的方法.分享给大家供大家参考.具体如下: 这是一个完全的鼠标箭头美化效果的JS代码,通过这个JS代码,把鼠标的箭头加上一个样式,燃烧中的蜡烛.这个也是很古老的代码了,只能在IE8及以下浏览器运行,代码如下: 复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"

  • js实现仿QQ秀换装效果的方法

    本文实例讲述了js实现仿QQ秀换装效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="www.w3.org/1999/xhtml"> <he

随机推荐