PHP实现的文件浏览器功能简单示例

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP实现的文件浏览器功能。分享给大家供大家参考,具体如下:

<?php
if(isset($_GET['path'])){
  echo $path = $_SERVER['DOCUMENT_ROOT'].$_GET['path'];
  $pre_path = $_GET['path'];
}else{
  echo $path = $_SERVER['DOCUMENT_ROOT'];
  $pre_path = "";
}
?>
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  </head>
  <body>
    <table border="1">
      <thead>
        <tr>
          <td>文件名</td>
          <td>文件大小</td>
          <td>文件类型</td>
          <td>修改时间</td>
        </tr>
      <thead>
      <tbody>
        <?php
        $url_this = "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
        $handle = opendir($path);
        while($file=readdir($handle)){
          echo "<tr>";
          echo "<td>".$file."</td>";
          echo "<td>".filesize($path."/".$file)."</td>";
          if(filetype($path."/".$file)=="dir"){
            $next = $pre_path."/".$file;
            echo "<td><a href=\"$url_this?path=$next\">dir</a></td>";
          }else{
            echo "<td>".filetype($path."/".$file)."</td>";
          }
          echo "<td>".date("Y年n月t日",filemtime($path."/".$file))."</td>";
          echo "</tr>";
        }
        closedir($handle);
        ?>
      </tbody>
    </table>
  </body>
</body>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP目录操作技巧汇总》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP网络编程技巧总结

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

相关文章

php HandlerSocket的使用

Memcache数据一致性的问题:当MySQL数据变化后,如果不能及时有效的清理掉过期的数据,就会造成数据不一致。这在强调即时性的Web2.0时代,不可取。 Memcache崩溃后的...

模板引擎正则表达式调试小技巧

基于正则表达式替换的模板引擎很容易遇上正则表达式最大回溯/递归的限制。 惰性匹配并不可怕,正常情况下模板并不会不够用,往往不会超出限制,discuz的模板引擎就大量使用了。但是因此而不去...

配置eAccelerator和XCache扩展来加速PHP程序的执行

配置eAccelerator和XCache扩展来加速PHP程序的执行

eaccelerator安装配置PHP加速 eAccelerator简介 eAccelerator是一个的免费、开源的PHP模块,它能够为提供PHP加速、优化、加码、和动态内容缓存功能。...

php session的锁和并发

本文分享PHP的session在使用过程中的锁和并发的问题,与之相关的现象有请求阻塞、session数据丢失、session数据读不到。 我登录不了了 某天,我准备登录我们一个后台系统,...

php多线程并发实现方法

本文实例讲述了php多线程并发实现方法。分享给大家供大家参考,具体如下: java里多线程就是一个new thread的事情,php依赖apache靠着linux底层有一个多线程的办法。...