本程序基于PHP开发的目录列表程序,基于 Directory Lister 2.7.1 开源程序并由笔者工作室 & 网络民工原版魔改 Xdir v1.4.0 正式版,点击查阅详细功能介绍。
功能支持目录浏览、文件Hash、试听、文本预览、一键复制、二维码生成、文件索引、文件管理、密码访问、站内搜索、维护模式、站点发展史、暗黑模式等。
本程序无需数据库、体积小、功能完善、部署简单、支持中文显示、核心内容本地化部署、支持Windows/Linux下部署运行、支持伪静态部署。
本站目录展示的所有附件文件,站点管理员会将定期对附件版本进行更新、替换、升级,确保常用资源软件版本为最新或稳定版本状态,仅供于学习与参考。
Xdir是一款源于 Directory Lister,基于2.7.1原版内核,使用PHP开发的目录列表程序,由笔者魔改、优化后的Xdir版本。这是一个非常简单即优秀的目录列表程序,体积小巧,功能丰富强大,界面精致友好,简单实用,上传即用无需数据库,纯保姆级全局调配部署运行。
程序后端采用基于Tiny File Manager的管理方式,功能丰富,界面友好,支持像操作本地文件一样具备上传下载、URL上传、多用户账号/密码权限设置、在线编辑、预览、解压、压缩、创建、移动、粘贴、移动、删除、重命名等常规操作,并支持简单的离线下载功能,在线搜索和筛选,支持全局配置文件中隐藏指定文件及文件夹。
程序前端界面友好、大方简洁,最大程度满足了功能上的刚需使用,支持中、英文文件目录列表展示、MD5哈希,在众多目录列表程序中也一直保持颜值高、且功能实用性强大、简单的目录列表程序。
目录浏览(默认文件夹在最前面)
;
一键复制(支持普通文件超链接、遍历目录路径链接、CSS/JavaScript/Img 一键复制)
;
文件Hash
图片预览(支持全局预览)
;
文件索引
密码验证(v1.3.5正式版已优化该功能的使用,支持二级目录密码访问,仅赞助用户获取)
;
音乐播放试听(mp3、wma、wav、ape、flac)
视频播放预览(mp4、m3u8、flv、rm、rmvb、mkv、avi)
文本预览(txt、py、sh、conf、go、c、cpp、json、html、js、css、reg)注意:支持行号显示、代码高亮、预览区域内一键复制内容
支持Markdown文件预览
office文档预览(doc、docx、ppt、pptx、xls、xlsx)注意:如果是内网或IP访问或非标准多端口方式不支持预览
PDF预览(PDF文档支持内外网在线预览)
文件管理(支持上传、删除、编辑、复制、移动、预览、当前目录和全局搜索、解压缩)
增加返回顶部
站内搜索功能
支持手机界面访问
界面式样UI魔改化
发展史时间流更新日志页面(可记录站点发展史、更新日志使用)
各种CDN文件本地化
支持中文目录和文件名
支持顶部公告栏,文件独立配置(支持多条并循环滚播,标准版不支持全局修改)
;
顶部文件为遍历目录最后更新文件的时间显示(仅官网显示)
;
搜索结果页面增加复制、二维码功能(自 Xdir v1.3.6 版本及以上支持)
;
支持显示各文件夹内的新简介说明(自 Xdir v1.3.6 版本及以上支持)
;
新简介说明功能(README文档文件解析模式支持:README.html、README.md,支持锚点定位)
;
二维码分享功能(自 Xdir v1.3.6 版本及以上支持)
;
新增暗黑/明亮功能(全局支持开启,默认支持自夜间22点至次日凌晨6点无忧唤醒)
;
支持站点维护模式功能(高级赞助版支持)
;
支持顶部公告通知栏,支持多条循环滚动展示(仅**赞助版、标准版**支持)
;
顶部文件为遍历目录最后更新文件的时间显示;
搜索结果页面增加复制功能(自Xdir v1.3.6 版本及以上支持)
;
支持显示各文件夹内的新简介说明(**高级赞助版**已调整遍历目录优先顶部显示,简介遍历目录下显示)
;
支持多用户管理后端,默认密码请移至config.php下的设置IP与密码中对应用户密码
;
支持管理员及普通账号权限,Guest普通用户登陆时,仅支持查阅文件目录及文件,无写入权限;
支持安装到二级目录提供访问(比如:www.xuxiaokun.com/Xdir,但个别调用路径需要调整下)
;
标准版:修改顶部轮播消息,喜欢作者的,可以有偿获得无广告清爽版或重新指向本地资源展示;
/home/wwwroot/Xdir
│
├─ functions
│ ├ caches
│ │ └ indexes.html # 索引文件 #
│ │ └ css
│ │ └ dropzone.min.css # 自定义样式 #
│ │ └ js
│ │ └ dropzone.min.js # JavaScript脚本文件 #
│ │ └ .....
├─ resources
│ ├ jianzhanshi
│ │ └ .....
│ ├ Top
│ │ └ .....
│ ├ themes
│ │ └ bootstrap
│ ├ └ css # 样式文件夹 #
│ ├ └ fonts
│ ├ └ img
│ ├ └ js # JavaScript脚本文件夹 #
│ ├ └ less
│ ├ └ scss
│ ├ └ default_bulletin.php # 顶部公告栏内容 #
│ ├ └ default_footer.php # 底部公共文件 #
│ ├ └ default_header.php # 顶部公共文件(可放网站流量统计代码)#
│ ├ └ index.php # 站点主文件 #
│ ├ DirectoryLister.php # 核心函数处理文件 #
│ ├ config.php # 基础配置文件 #
│ └ fileTypes.php # 遍历图标控制器 #
│ └ Parsedown.php # Markdown解析器 #
│ └ ParsedownExtra.php # 可配置的Markdown到HTML转换器 #
│ └ ParsedownExtraPlugin.php # Markdown扩展插件 #
├─ static
├─ └ ..... # 核心库文件夹 #
├─ template
├─ └ gengxin # 更新日志页 #
├─ └ img
├─ └ .....
├ README.html / README.md # 文件夹内简介说明文件 #
├ config.simple.php # 核心配置文件 #
├ index.php # 核心 #
├ gengxin.php # 更新日志调用 #
├ Xdir v1.4.0 LOGO.png
├ LICENSE # 许可证 #
├ COPYING # 许可说明 #
├ 其它文件*.*
下载Xdir源码放到站点并解压全部文件至站点指定的Web根目录(有条件的,建议目录尽量放到大一点的储存空间中,方便日后大文件存放);
首先需要将Xdir目录下的文件“config.simple.php”修改为 “config.php” 并检查是否可以正常访问Xdir主页,这一步很重要噢;
config.php
文件为Xdir站点全局统一参数配置部署文件,推荐使用类似Notepad++、EditPlus、DW工具来进行调配;
程序做了优化,化繁为简,核心配置统一接口对接,纯保姆式级别全局调配,大大降低并简化非专业人员的代码性繁琐修改;
需对Xdir站点根目录权限进行预设,赋予目录\functions\caches
读写删权限(Linux / Centos / Ubuntu 等系统下如无http用户,则增加一个,授予读写删权限)
;
支持 Windows / Linux / Centos / Ubuntu 等系统下部署安装(傻瓜式部署环境建议通过类似面板的方式,有能力的还是建议采用更为专业的环境部署方案)
;
程序运行核心组件采用PHP内核,建议PHP版本为5.6 – 7.2版本之间为好,官方采取的是PHP 7.4版本,暂不支持更高版本下部署运行,因为笔者未尝试过;
config.php
支持自定义网站标题/关键词/描述/logo/尾部运行起始时间/密码/功能唤醒/忽略目录及文件/简介说明解析方式等,化繁为简,纯保姆级调配;
排除首页遍历列表下某个目录或文件,请于路径/resources/config.php中调整屏蔽;
排除文件管理器后端列表下不显示某个目录或文件,请于根目录路径/config.php中调整屏蔽;
文件索引页面支持通过”功能键盘快捷方式“Ctrl + F”
,找文件也是分分钟的事情噢。
当Xdir遍历目录列表下出现 .html / .md
文件后缀时,程序则自动判断并显示该文件在遍历目录列表下输出预览,无README文件时则不显示简介功能展示;
赞助版(同演示站全线功能一致)
清爽版(除无维护模式外同赞助版全线功能一致)
标准版(除无暗黑明亮、无维护模式功能外,其余功能保持不变)
清爽版、标准版后台管理无Guest只读用户权限启用,可自行调整或有偿支持调整;
若开启密码访问方式,修移步至文件“Xdir\resources\themes\bootstrap\index.php”、“gengxin.php”中搜索“访问密码”可修改默认密码参数值;
统一配置文件中thedir值,请务必修改为站点实际目录路径,如:/wwwroot/demo.xuxiaokun.com,不修改则无法登陆文件管理器后台;
本程序适合个人、初创期单位做网盘,轻需求的你,必备工具的多场景下适用。
config.php
全局配置文件中可自定义配置例如站标logo、站名、主页访问、站点关键词、描述、屏蔽目录或文件、白名单、维护和密码访问启/停、README解析方式等
文件管理后端登录,需将遍历目录真实路径设置thedir
下,否则无法登录后端管理遍历目录文件的维护;
README简介功能添加对锚点定位支持,使用方式:在链接后面加上#标签的id
,或者点击标题前的锚点链接
支持README功能简介自定义上下边距设置
添加对表格样式多样化的支持
公共区域配置(仅高级赞助版、清爽版下支持自定义修改)
为介绍到的个别参数统一在全局配置文件中设置,后期将不断增设功能开关,化繁为简;
如果安装
lnmp
一键包上传Xdir
后,不显示文件和目录,那么可能是PHP
函数scandir
被禁用了,取消禁用即可。
sed -i 's/,scandir//g' /usr/local/php/etc/php.ini
# 取消scandir函数禁用
/etc/init.d/php-fpm restart
# 重启 PHP生效
如果是Windows Server环境下部署,上传
Xdir
后,不显示文件和目录,那么可能是PHP
函数scandir
被禁用了,取消禁用即可。(建议宝塔面板类环境自定义部署比较方便)
如果索引页面访问失败,提示
“无法打开文件”
请检查80/443
端口是否被更改使用,程序默认用80/443
端口访问,如需自定义可自行调整或有偿支持调配;
文件索引打印无索引缓存输出,请检查“\Xdir\functions\caches”目录是否被赐予文件读写权限;
如Xdir目录列表或子文件夹下无README简介说明,目录无README.html 文件时则不显示简介功能区展示,请自行检查文档文件是否存在;
文本后缀格式支持预览功能,上传前,建议对文件用 UTF-8无BOM编码 保存,避免出现中文乱码显示;
PHP优化参照建议,需要修改的参数如下:
1). memory_limit=128M
2). post_max_size=1024M
3). upload_max_filesize=1024M
4). max_execution_time=600
5). max_input_time=600
修改完成后前往Xdir后台,上传一个大500Mb左右的文件进行测试下试试,因考虑到PHP上传还是比较吃资源的;
尽量避免长时间的大文件上传,如有此需求,可以通过SMB/FTP等共享方式手动上传大文件到Xdir下对应的子目录。
基于 Directory Lister 2.7.1 魔改 Xdir v1.4.0 的诞生离不开以下资源的技术支撑,其内核原版版权归原作者所有。
魔改不易,喜欢的可以通过赞赏方式获得赞助版,并可获得一次或多次线上技术支持,以及无限制探讨互助交流。
This project is licensed under the MIT License.