Zdir
注意,此版本已经停止维护,请前往:https://doc.xiaoz.org/books/zdir-3 查看最新版本。
介绍
Zdir是一款使用PHP开发的目录列表程序,无需数据库,安装简单,使用方便。
主要功能
- ✅目录浏览
- ✅MarkDown文件预览
- ✅CSS/JavaScript一键复制
- ✅文件hash
- ✅图片预览
- ✅视频播放(支持.mp4 .ts .m3u8等部分格式)
- ✅音频播放
- ✅文本查看器(支持的格式有.txt .sh .py .go .c .cpp)
- ✅Office在线预览(支持.doc .docx .xls .xlsx .ppt .pptx)
- ✅文件索引
- ✅二维码生成
- ✅文件管理(上传、下载、编辑)
- ✅文件搜索
- ✅密码验证
- ✅支持中文显示
Demo
获取捐赠版
捐赠版权益:
- 去除广告
- 允许修改底部版权
- 可提供一次免费技术支持
扫描下方二维码,且捐赠>=30
元。扫码后通过联系我QQ获取。
联系我
- Blog: https://www.xiaoz.me/
- QQ: 337003006
安装
注意事项
- 不再支持IIS部署
- 不推荐使用Windows系统
- 不再支持安装到二级目录提供访问,比如:
www.xxx.com/zdir
路径说明
假如您站点根目录为/www/wwwroot/xxx.com
,您应该在此路径下创建一个zdir
文件夹,并将zdir源码放到/www/wwwroot/xxx.com/zdir
,需要读取的文件放到/www/wwwroot/xxx.com
,结构如下:
/www/wwwroot/xxx.com/ - 站点根目录
zdir - zdir源码路径
dir1 - 需要读取的文件夹
file1 - 需要读取的文件
注意:站点根文件夹不能包含zdir
关键词,比如不能为/www/wwwroot/zdir.xxx.com
常规安装
- 访问 zdir.zip 下载最新源码,并解压到站点根目录下的
zdir
文件夹 -
将
zdir/config.simple.php
修改为zdir/config.php
- 修改
config.php
文件,设置网站关键词、描述等、密码等 - 访问您的域名测试,文件管理用户名为
zdir
,密码为config.php
中设置的密码
源码备用下载地址:https://dwz.ovh/zdirdown
Nginx伪静态
- 需要个将默认首页设置为
zdir/index.php
,比如index zdir/index.php index.html index.htm index.php
- 需要在Server的配置中添加一行伪静态规则:
rewrite ^/static/(.+) /zdir/static/$1 break;
下方是一个示例配置,请根据您的实际情况进行修改:
server {
listen 80;
server_name localhost;
#access_log /var/log/zdir.log combined;
index zdir/index.php index.html index.htm index.php;
root /data/wwwroot/default;
#rewrite
rewrite ^/static/(.+) /zdir/static/$1 break;
#error_page 404 /404.html;
#error_page 502 /502.html;
location ~ [^/]\.php(/|$) {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 7d;
access_log off;
}
location ~ /\.ht {
deny all;
}
}
Apache伪静态
Apache环境直接将/www/wwwroot/xxx.com/zdir/.htaccess.bak
复制为/www/wwwroot/xxx.com/.htaccess
即可。或者自行在站点根目录下新建一个.htaccess
文件,内容为:
RewriteEngine On
DirectoryIndex zdir/index.php
RewriteRule 'static/(.*)$' zdir/static/$1 [L]
Docker方式安装
复制下面的命令执行:
docker run --name="zdir" \
-d -p 1080:80 --restart=always \
-v /tmp/zdir:/data/wwwroot/default \
helloz/zdir
-
1080
:为外部访问端口,可自行修改 -
/tmp/zdir
:zdir数据挂载路径,可自行修改
更多说明请参考:https://www.xiaoz.me/archives/14809
config.php配置文件说明
设置站点基本信息
打开config.php
配置文件
$siteinfo = array(
"site_name" => "<i class='fa fa-sitemap' aria-hidden='true'></i> xiaoz软件库",
"title" => "Zdir 实用的目录列表程序",
"keywords" => "zdir,h5ai,Directory Lister,Fdscript,目录列表,目录索引",
"description" => "Zdir是一款使用PHP开发的目录列表程序,简单实用,免费开源。"
);
- site_name:网站名称(左上角显示)
- title:设置站点标题(浏览器上显示)
- keywords:设置网站关键词
- description:设置网站描述
排除某个目录
//需要忽略的目录
$ignore = array(
".",
".git",
"favicon.ico",
"functions",
"config.php",
"index.php",
"static",
"LICENSE",
"template",
"cache.php",
"indexes.php"
);
如果您需要排除某个目录,请修改上面的$ignore
变量。
使用说明
Markdown预览
Zdir支持Markdown文件预览,如果以readme.md
命名,会直接出现“使用说明”按钮,如果是其它.md
后缀的文件会出现一个“小眼睛”按钮,点击该按钮可以预览Markdown文件。
文件索引
为了快速找出需要的文件,Zdir提供了文件索引功能,可访问点击导航栏“文件索引”进行查看,访问该页面后可按Ctrl + F
搜索文件,如下截图。
如果页面提示Unable to open file!
,说明您的目录不可写,请自行检查目录权限,确保functions/caches
该目录可读写。
为了降低资源消耗,文件索引存在24小时缓存,您可以访问index.php?c=cache&del=cache
清除当前缓存并重新生成索引。
文件搜索
文件搜索功能依赖于“文件索引”,因此请先确保您的文件索引功能可以正常使用,并且已经成功生成了索引文件。然后在右上角输入搜索框进行搜索,如下截图。
文件管理
点击导航栏“文件管理”或者访问functions/admin.php
进入,用户名为zdir
,密码为config.php
中设置的密码。文件管理支持上传、修改、删除等功能,如下截图。
删除文件(此功能已废弃)
在您访问的页面加上?admin
或&admin
参数,文件后面会出现删除按钮,可以对文件进行删除,如下截图。
删除密码是在config.php
中设置,请看删除文件设置
启用密码验证
- 修改
config.php
将"auth" => FALSE
参数修改为TRUE
- 再次访问首页会要求输入账号、密码,用户名为
admin
密码为config.php
中设置的密码
注意事项: 应部分网友要求,添加了简单的密码验证,但此功能无法防止用户下载文件,只要知道真实地址依然可请求文件。
常见问题
Office预览不正常?
- Office使用微软API,如果您的Zdir无法通过公网访问,将无法预览。
- 使用IP形式访问也无法预览
文件索引异常,提示Unable to open file!
请检查zdir/functions/caches
是否可读写,用户目录所属权限是否正确。
比如宝塔、Oneinstack、lnmp.org均使用www
作为站点用户,如果目录所属权限不正确,您应该尝试重置权限:
chown -R www:www /站点路径
无法搜索到内容?
搜索功能依赖于文件索引,如果文件索引异常,搜索功能将无法使用。
为什么文件索引显示缓存于1970年?
文件索引页面读取的缓存文件时间,由于获取时间的时候页面还未生成,故显示不正确,刷新页面即可解决。
文件管理器无法登录
需要修改php.ini
文件开启PATHINFO,然后重启PHP
cgi.fix_pathinfo=1
更新日志
v2.0.0-20210809
- 文件索引界面增加清除缓存按钮
- 统一安装方式
v1.55-20210111
- 修复二维码失效问题
v1.5-20200531
- 此版本可将Zdir放在子目录中
- 优化CSS
- 修复一些BUG
- 可以新建
static/tongji.js
并添加网站统计代码,Zdir将自动加载 - 文件管理器的用户名、密码可以在
config.php
自定设置 -
config.json
可支持广告设置
v1.2-20200425
- 解决Windows不能显示中文问题
- 更新tinyfilemanager版本
- 更新parsedown版本
- 增加使用说明显示
- 优化音乐播放器
- 其它细节优化
v1.2-20190528
- 去除前台删除按钮
- 手机界面添加搜索框
- 首页可开启密码验证
- 视频播放插件
video.js
替换为DPlayer - 支持音乐播放
v1.1-20190316
- 升级jQuery版本
- 部分静态资源改为本地调用
- 修复2处XSS漏洞
- 不再显示.php文件
- 文件夹与文件重新排序(默认文件夹在最前面)
- 部分细节优化
v1.0-20190117
- 部分文件结构重新规划
- 增加搜索功能
- 修复一些漏洞和BUG