更新说明

i > 本文已经过期了,请参考上面的文章

前言

DirectoryLister是一款非常小巧的PHP文件浏览器,适合搭建一个简单的个人文件站。
我的示例站点:链接

下载&安装

  1. 下载
    官方下载:链接
    本地镜像:链接
    本站只提供2.7.1版本下载,推荐去官网下载。

  2. 安装
    解压到网站根目录,设置好权限,推荐只给读权限

    cd 【网站根目录】
    find ./ -type f -print|xargs chmod 400
    find ./ -type d -print|xargs chmod 500

    如果能正确显示网页,说明安装成功了:
    官方Demo页

定制

接下来就是定制外观了,效果如图:
定制效果

  1. 汉化
    打开/resources/config.php
    下面只截取修改的地方,注意行号
    
    //第6行,基础设置
    'home_label'         => '文件下载',     //显示在左上角,自行修改
    'hide_dot_files'     => true,          //是否隐藏.开头的文件
    'list_folders_first' => true,          //排序时是否目录优先
    'list_sort_order'    => 'natcasesort', //排序规则,默认即可
    'theme_name'         => 'bootstrap',   //主题样式,不用改
    'date_format'        => 'Y-m-d H:i:s', //日期格式

//第14行,隐藏文件,可以根据需要添加要隐藏的文件和目录
'hidden_files' => array(
'.ht',
'
/.ht',
'resources',
'resources/
',
'analytics.inc',
),


打开`/resources/themes/bootstrap/index.php`
下面只截取修改的地方,注意行号
```php
/*……第7行……*/
<title>【网页标题】</title>
<link rel="shortcut icon" href="<?php echo THEMEPATH; ?>/img/folder.png">
/*……第88行……*/
<div class="row">
    <div class="col-md-7 col-sm-6 col-xs-10">文件名</div>
    <div class="col-md-2 col-sm-2 col-xs-2 text-right">大小</div>
    <div class="col-md-3 col-sm-4 hidden-xs text-right">修改时间</div>
</div>
  1. 修改页脚,显示磁盘剩余空间
    因为PHP没法直接获取磁盘占用,而使用exec函数又有潜在的风险,因此我使用Shell脚本获取磁盘空间,然后用PHP读取

  2. 脚本

    path=【网站根目录】/resources/themes/bootstrap/diskinfo
    usedsize=$(df -l /| awk '/\//{print$3}')
    totalsize=$(df -l /| awk '/\//{print$2}')
    usedsizeh=$(df -lh /| awk '/\//{print$3}')
    totalsizeh=$(df -lh /| awk '/\//{print$2}')
    usedpercent=$((usedsize*100/totalsize))
    freepercent=$((100-usedpercent))
    echo "$usedsizeh $totalsizeh $usedpercent% $freepercent%">$path

    注意更改生成的diskinfo文件的权限和所有者

  3. 添加计划任务
    可以使用cron,我图方便就用宝塔面板自带的计划任务了,隔一段时间更新diskinfo文件即可,我设置为每小时更新1次。

  4. 修改页脚
    打开/resources/themes/bootstrap/default_footer.php

    <style>
    .progress {text-align: center;width: 26em;margin:0 auto}
    .progress-text {position: absolute;right: 0;left: 0;vertical-align: center}
    .shadow-text {color: #fff;text-shadow: 0px 0px 10px rgba(0, 0, 0, 1)}
    </style>
    <hr>
    <div class="footer">
    <?php $fn=fopen(THEMEPATH."/diskinfo","r");$diskinfo=explode(' ',fgets($fn));fclose($fn);?>
    <p>由 <a href="https://blog.chrxw.com">Chr_ 小屋</a> 提供技术支持,部分文件来自互联网</p>
    <p><div class="progress">
        <div class="progress-bar progress-bar-warning" role="progressbar" style="width: <?php echo $diskinfo[2];?>;"></div>
        <div class="progress-bar progress-bar-success" role="progressbar" style="width: <?php echo $diskinfo[3];?>;"></div>
        <div class="progress-text shadow-text">硬盘使用:<?php echo ($diskinfo[0]." \ ".$diskinfo[1]);?>
    </div></p>
    </div>
  5. 修改页头
    修改/resources/themes/bootstrap/default_header.php即可,我没做修改

最后修改:2020 年 09 月 21 日
Null