前言
DirectoryLister是一款非常小巧的PHP文件浏览器,适合搭建一个简单的个人文件站,之前的教程使用的版本为2.7.1,现在的最新版本为3.5.0,新增了文件夹说明、文件搜索等功能。
我的示例站点:链接
安装步骤
环境需求
- PHP版本为
7.2
及以上 - 安装PHP的
zip
、DOM
、Fileinfo
扩展,前两个宝塔面板自带,只需安装Fileinfo
下载源码
@> 本站只提供3.5.0版本下载,最新版本请从官方渠道下载
安装
下载好以后,解压到网站根目录,将 .env.example
文件重命名为 .env
文件,然后用编辑器打开
@> Windows下如果无法重命名的话,可以使用命令 rename .env.example .env
!> 如果修改了 .env 文件但是配置不生效,解禁PHP的 putenv 函数即可
.env
配置文件说明
# 调试模式开关
APP_DEBUG=false
# 语言设置(zh-CN即简体中文)
APP_LANGUAGE=zh-CN
#
# 深色模式开关(蓝白/紫黑)
DARK_MODE=false
# 是否在文件列表下方显示Readme.md文件(如果存在Readme.md文件)
DISPLAY_READMES=true
# 在文件列表上方显示Readme.md文件(需要DISPLAY_READMES=true)
READMES_FIRST=false
# 是否允许将整个目录打包成ZIP下载(搜索栏左侧会显示打包下载按钮)
ZIP_DOWNLOADS=true
#
# Google Analyitcs设置(要使用的话设置成资源ID即可)
GOOGLE_ANALYTICS_ID=false
# GOOGLE_ANALYTICS_ID=UA-XXXXXXXXX-X
#
# MATOMO_ANALYTICS设置
MATOMO_ANALYTICS_URL=false
MATOMO_ANALYTICS_ID=false
#
# 排序设置,可选值如下,排序方式区别见下
# type, natural, name, accessed, changed, modified
SORT_ORDER=type
# 逆序排序开关
REVERSE_SORT=false
#
# 隐藏app目录
HIDE_APP_FILES=true
# 隐藏.git目录
HIDE_VCS_FILES=true
#
# 时间格式
DATE_FORMAT="Y-m-d H:i:s"
# 时区设置(Asia/Shanghai即上海时间)
TIMEZONE="Asia/Shanghai"
#
# 可以计算Hash的文件的最大尺寸(单位是字节Bytes)
MAX_HASH_SIZE=1000000000
#
# 主页标题,显示在网页左上角(默认为“目录起始页”)
HOME_TEXT="文件下载"
# 页面缓存设置,设为false禁用缓存(默认值为"app/cache/views")
VIEW_CACHE="app/cache/views"
如果能正确显示网页,说明安装成功了:
定制
i> 修改后需要清除页面缓存后才能看到效果,默认缓存目录为 app/cache/ ,删掉整个目录即可
网站标题优化
-
将 Home 修改成中文
文件路径为
app\src\Controllers\DirectoryController.php
改成想要的值,比如“主页”
-
定制标题格式
文件位置在
app\views\layouts\app.twig
{{ title }}
是占位符,用来显示当前目录的名称,其他的文本都可以任意改,如果使用特殊符号记得转义常用符号转义值:
" "
,& &
,< <
,> >
EXE
图标显示空白解决方法
打开app\config\icons.php
把所有 fas fa window
替换成 fab fa windows
即可
@> 原因是新版的 Font Awesome 貌似需要Pro才有这个图标……
中文字体优化
修改版 app.css
下载: 链接
文件路径为 app\assets\app.css
隐藏特定的文件
在网站根目录下新建一个 .hidden
文本文件,在里面写入希望隐藏的文件名或者路径名即可,支持正则表达式
页面自定义
页眉模板文件:app/views/components/header.twig
页脚模板文件:app/views/components/footer.twig
CSS文件:app/assets/app.css
本地化文件:app/translations/zh-CN.yaml
本文链接:https://blog.chrxw.com/archives/2020/09/21/1401.html
转载请保留本文链接,谢谢
26 条评论
@Chr 大佬,为什么我装好中文显示是乱码,用的nginx1.20.1+php7.2
大佬,我把移动硬盘目录 通过软连接在DirectoryLister目录下,提示open_basedir restriction in effect.,超时关闭ooen_basedir,或者添加目录都不行。能看看吗?
考虑是不是selinux的锅,用setenforce 0临时禁用selinux试试,然后添加openbasedir目录
ubuntu server 20.04 应该没有启用selinux
大佬还在么??按步骤安装提示:
一个意料之外的问题发生了
启用调试以获取更多信息
该怎么办啊??
调试模式显示:
Error
Call to undefined function App\Controllers\mime_content_type()
错误地址:
Error
…/src/Controllers/DirectoryController.php73
已经查明是fileinfo没安装的原因,小内存的机器可以参照这篇博客安装:https://www.zuantaokm.cn/index.php/jishu/33.html
谢谢博主了!!!!
大佬 我又来了
隐藏特定的文件
在网站根目录下新建一个 .hidden 文本文件,在里面写入希望隐藏的文件名或者路径名即可,支持正则表达式
这个路径名是怎么个写法? 我直接/文件夹 这样的路径名不行啊
/www/wwwroot/域名/文件夹 这样的路径名也不行啊?
直接写文件名称就行,他这个不是按照路径匹配的,他是名称一样就不显示,支持*?这种通配符
是只能隐藏单个文件是吧 不能隐藏目录 我这样理解对么??? 0.0
可以隐藏目录,它实际上是名称匹配,不是路径匹配,只要名称满足设定就隐藏了
老哥 我又来了 我下载了最新的3.90的,中文优化怎么弄都不行了,有啥头绪么?
唉 无视我吧 怪不得怎么刷新都不行...Ctrl+F5强制刷新就有了。
网页标题哪里去改啊?就是home.directory lister翻遍了都找不到 我看你也没改
已更新~
windows下重命名 .env.example要命令行操作,直接重命名不允许,因为系统认为缺少文件名。
我没遇到,或许跟系统设置有关
这就不知道了,我是cd到文件当前目录,然后执行rename .env.example .env希望后面遇到一样情况的的人能看到吧。
关于exe图标问题,icons.php改完之后好像还要改一下app/cache/CompiledContainer.php这个文件里的fas fa-window为fab-windows,不知道这个是不是自动生成的缓存文件不敢删只好改下。
/app/cache是缓存目录,整个删掉就行
好的好的
下载好以后,解压到网站根目录,然后修改配置
mv .env.example .env
vim .env
这是啥意思,该怎么搞啊?
就是把 .env.example 文件重命名为 .env ,然后使用编辑器编辑 .env 文件
之前DIY的东西,代码现在不一样了,还能整吗,大佬OωO
有空研究下
大佬 前端有美化一点点的模板不 页眉文件不会改鸭