这个是逗比根据地的备份镜像站(非官方)。牢记域名: [doubibackup.com]。搜索:标签云
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程
广告

『开源』Directory Lister 逗比魔改版 Github开源(逗比云)

建站资源 Toyo 132评论
广告
本文最后更新于 2018年9月27日 18:04 可能会因为没有更新而失效。如已失效或需要修正,请留言!

这段时间,有一些人看着我的逗比云觉得好看,同时觉得 简介说明 的功能很好,想要问我怎么做,所以我干脆开源好了。

魔改特点:

我之所以使用Directory Lister,就是因为这个程序非常的简洁,符合我心中对 目录列表程序的定义,在使用期间,根据我个人喜好和审美做了一些改变。

  1. 界面式样魔改
  2. 支持中文目录和文件名
  3. 支持显示各文件夹内的简介说明
  4. 默认调用的各种 CDN文件本地化
  5. 等等 ...

Github 项目地址:https://github.com/ToyoDAdoubiBackup/DirectoryLister

更新:2018/09/27,修复 当网页内容高度接近于窗口高度时,底部 footer 与网页内容重叠的问题

更新:2018/08/20,更新 不需要再手动配置域名后缀了,新版本会自动检测。

更新:2018/08/20,更新 网站式样 - 素色简洁风(对比见下图)。

更新:2018/07/18,修复 当程序位置网站子目录下时,CSS JS 路径错误的问题。

更新:2018/03/26,修复 当前文件夹下无 README.html 文件时,PHP会提示警告的问题。

演示示例:

逗比云

下载安装:

下载后,解压并上传到已经搭建好 PHP环境 的服务器中,然后就可以上传文件和创建文件夹了!

Github打包:https://github.com/ToyoDAdoubiBackup/DirectoryLister/archive/master.zip

逗比云 打包:https://yun.doubibackup.com/Website/Directory Lister魔改版(by-Toyo) v2.6.1.zip

文件结构

假设你的虚拟主机根目录是 /home/wwwroot/xxx.xx

/home/wwwroot/xxx.xx/
├─ resources/
│   ├ themes/
│   │ └ bootstrap/
│   │    ├ css/
│   │    ├ fonts/
│   │    ├ img/
│   │    ├ js/
│   │    ├ default_footer.php # 底部公共文件 #
│   │    ├ default_header.php # 顶部公共文件(可以放网站流量统计代码) #
│   │    └ index.php # 网页主文件,其中可以修改顶部公告栏内容 #
│   │
│   ├ DirectoryLister.php
│   ├ config.php
│   └ fileTypes.php
│
├ README.html # 该文件夹页面内的 说明简介文件 #
├ index.php
│
├─ 其他文件夹/
│   ├ 其他文件.txt
│   └ README.html # 该文件夹页面内的 说明简介文件 #
│
└ 其他文件.txt

注意事项:

不显示文件和目录

如果安装 lnmp一键包上传Directory Lister后,Directory Lister不显示文件和目录,那么可能是 PHP函数scandir被禁用了,取消禁用即可。

sed -i 's/,scandir//g' /usr/local/php/etc/php.ini
# 取消scandir函数禁用
/etc/init.d/php-fpm restart
# 重启 PHP生效

程序放在网站子目录不显示 README.html 的解决方法

因为程序有个判断 README.html 路径的代码,而如果是正常使用域名或IP(即使加上),都是可以自适应的。

但是如果把程序放在子目录下,就会无法获取正确 README.html 路径,需要你手动修改下程序里的一句代码。

假设你将程序放在了子目录 zimulu 中(也就是 http://xxx.xx/zimulu 才能访问到程序网页)。

首先打开该文件:/resources/themes/bootstrap/index.php

找到第5行的:$suffix_array = explode('.', $_SERVER['HTTP_HOST']);

将其修改为:$suffix_array = explode('.', $_SERVER['HTTP_HOST']."/zimulu");

简介功能说明

我也不知道该给这个功能起什么名字,好捉急偶。

可以在每个文件夹下面放一个README.html文件,这个文件里写着 简介说明内容即可,格式参考自带的示例文件。

为了避免中文乱码,把README.html文件用 UTF-8 无BOM 编码 保存!

文件修改说明

文件修改说明修改网站中头部导航标题,去这个文件里搜索DOUBI Soft然后全部替换为自己要改的。

/resources/DirectoryLister.php

修改网站标签栏的标题,去这个文件里把开头<title>标签中的DOUBI Soft替换为自己要改的。

/resources/themes/bootstrap/index.php

修改网站顶部公告栏内容,去这个文件里搜索顶部公告栏

/resources/themes/bootstrap/index.php

网站头部公共文件:

/resources/themes/bootstrap/default_header.php

网站底部公共文件:

/resources/themes/bootstrap/default_footer.php

如果想要插入流量统计代码,那只需要把代码写到default_header.php文件内即可。


本程序基于 Directory Lister原版修改:http://www.directorylister.com/

转载请超链接注明:逗比根据地 » 『开源』Directory Lister 逗比魔改版 Github开源(逗比云)
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (70)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(132)个小伙伴在吐槽
  1. 我在网站根目录建了blog 把lister的首页改为list.php 这样是显示readme的 把sesources/DirectoryLister.php中 824行 return $appUrl; 改为 return $this->_appURL . 'list.php'; 就不显示readme是什么原因
    shenweb2018-08-28 14:33 回复
  2. 中文的文件列表显示乱码怎么办
    小磊2018-08-26 12:18 回复
    • 可能问题:
      1. 你的系统不支持中文。
      2. 你修改了DL程序文件,导致编码出现问题。
      
      Toyo2018-08-26 13:12 回复
  3. 文件夹里放了README.html不显示是什么原因
    Kevan2018-08-20 17:07 回复
  4. 行吧,当我没说……我忘记在那个配置域名后缀的后面加上端口了……
    Colin2018-08-13 18:43 回复
  5. 看到底下有人提到readme的功能在ip下的问题,正好我也困惑于此。我在Raspi上使用这个,由于运营商占用了80、443端口,导致我的地址里有端口信息,在这种情况下也是没法使用readme的功能。盼望逗比站长能想出好办法 :shock:
    Colin2018-08-13 18:39 回复
  6. 可惜不能设置文件排序
    蓝爵薇2018-08-11 13:59 回复
  7. 使用这个功能,需要打开resources\themes\bootstrap\index.php文件,找到第五行的: $md_path = explode("com", $md_path_all); 请问如果用的是IP地址,没用域名,应该怎么设置呢,希望能回复,谢谢!!!
    liu2018-07-21 16:40 回复
    • 这个魔改版一开始只是我自用的,后来有人要我才开源分享的,所以非域名情况我没有考虑过,这几天研究下怎么所有情况通用吧,毕竟我也半吊子。。。
      Toyo2018-07-22 01:16 回复
      • 感谢感谢!!! :mrgreen:
        liu2018-07-24 10:10 回复
  8. 晕,大佬,找到打不开的原因了!刚才那条回复,直接删了吧!
    map2018-07-19 18:09 回复
  9. Toyo大佬,这个用得好好的,突然想起来安装个BBR,vps重启以后就打不开了,大佬知道怎么回事吗?
    map2018-07-19 18:07 回复
  10. 请问顶部公告栏怎么修改,楼上的方法不行
    2006bt2018-07-17 18:19 回复
    • \resources\themes\bootstrap\index.php
      # 这个文件第71行,或者搜索“顶部公告栏”
      
      Toyo2018-07-17 21:56 回复
  11. 这个只能在根目录下才能显示README.html,换端口在根目录下也不显示吗???还是需要改什么请帮忙
    shenweb2018-07-16 11:12 回复
    • 而且必须要域名在才能显示吗?ss.iam7.cn ss.iam7.cn:81 221.131.229.51 怎么让这三种都显示Readme.html希望更新
      shenweb2018-07-18 09:29 回复
  12. 下载一些文件的时候 会出现禁止访问 403 错误怎么办
    zjy2018-07-06 11:01 回复
    • 比如?给个URL我看看(我看完后打码)。
      Toyo2018-07-06 11:12 回复
  13. 请问如何防止直接访问文件造成我的流量浪费,我在主页面加密了但还是可以直接下载文件。 用session方法直接无法访问了。
    方舟2018-06-14 09:25 回复
    • 你的意思是你想要只有账号密码的人才能访问并下载内容,而不允许其他访问者下载?
      如果是我说的这样,那你可能不适合使用这个程序,这个程序属于目录列表下载程序,你可能适合:一键搭建最简单网盘  FileManager
      Toyo2018-06-14 10:26 回复
  14. IIS+Php,打开一个里边一个目录时提示如下,这是什么原因啊? PHP Warning: file_exists(): open_basedir restriction in effect. File(pa2/aspnet_client/*/README.*) is not within the allowed path(s): (D:\wwwroot\123) in D:\wwwroot\123\resources\DirectoryLister.php on line 246 PHP Warning: file_exists(): open_basedir restriction in effect. File(pa2/aspnet_client/README.*) is not within the allowed path(s): (D:\wwwroot\123) in D:\wwwroot\123\resources\DirectoryLister.php on line 246 PHP Warning: file_exists(): open_basedir restriction in effect. File(pa2/resources/*/README.*) is not within the allowed path(s): (D:\wwwroot\123 in D:\wwwroot\123\resources\DirectoryLister.php on line 246 PHP Warning: file_exists(): open_basedir restriction in effect. File(pa2/resources/README.*) is not within the allowed path(s): (D:\wwwroot\123) in D:\wwwroot\123\resources\DirectoryLister.php on line 246
    devilink2018-06-02 17:43 回复
    • 我没有在 IIS(Windows)下做过测试(没用过),不清楚 IIS。
      Toyo2018-06-03 10:52 回复
  15. 有点懵逼,也不知道怎么把域名跟vps放一起。望大佬解答
    mcy2018-05-26 21:07 回复
  16. 我在自己的vultr的vps上面装了宝塔,也把包给放了进去并修改。但现在不知道怎么链接到我的这个vps所做出来的云。(萌新勿喷qaq)
    mcy2018-05-26 21:06 回复
  17. 文件夹和文件图标不能正常显示,我是放在域名的二级目录下的,请问需要修改哪里?
    Ethan2018-05-23 13:39 回复
    • 打开网站,输入 F12 审查元素。
      Toyo2018-05-23 13:45 回复
  18. http://xx.xx.xx/?dir=%BF%C6%D1%A7%C9%CF%CD%F8 怎么把地址改成中文地址 http://xx.xx.xx/?dir=科学上网
    lala2018-05-11 12:47 回复
    • 在URL中,没有真实的中文,浏览器必须对中文仅限转码后才能访问包含中文的URL。
      Toyo2018-05-11 13:08 回复
  19. 支持 Markdown 语法么? :shock:
    Saintw2018-04-26 13:03 回复
    • 并不支持,依然是 HTML+CSS 方式撰写。
      Toyo2018-04-26 14:09 回复
  20. 请问大佬,出现CSS失效是什么原因。 只改了必要的域名后缀,其余未动。
    cos2018-04-21 04:20 回复
    • 该网页程序必须放在虚拟主机根目录,不能放到子目录。
      Toyo2018-04-21 14:38 回复
      • 谢谢 :smile:
        cos2018-04-21 22:32 回复
  21. 话说,逗比云支持ipv6吗?我在地址栏输入ipv4地址一切正常,但输入ipv6地址就显示无法访问了。。
    Touhouer2018-04-14 11:00 回复
    • 程序自身和 IPv4与IPv6 没有关系,这主要取决于 HTTP服务是否配置 IPv6。
      Toyo2018-04-14 13:47 回复
      • 呃。。能麻烦您详细说明下吗?
        Touhouer2018-04-15 13:25 回复
  22. 另外,求一个好用的向VPS上传文件的软件0.0 用WINSCP经常断开连接。。。
    Touhouer2018-04-13 20:35 回复
    • Filezilla 我平时用这个FTP软件,FTP SFTP都行。
      Toyo2018-04-13 21:29 回复
      • OK,确实好用。
        Touhouer2018-04-14 10:59 回复
    • 我用 FlashFXP5.4.0 我的导航网站:www.shanqiaoyuan.com 首页底部有下载的。很好用,个人感觉比Filezilla好用。也是支持SFTP的。WinSCP的直接在线编辑器好用的,如果只是修改某个脚本的参数,那用WinSCP,直接在线编辑完了,就保存上传到服务器了。
      lj473122018-08-31 14:15 回复
  23. 感谢!成功搭建
    Touhouer2018-04-13 20:34 回复
  24. 用了最新更新的版本,还是需要README.html,否则报错
    天也就这么大2018-04-12 00:39 回复
    • 去下载最新的 DirectoryLister/resources/themes/bootstrap/index.php 文件覆盖替换即可。
      Toyo2018-04-12 01:04 回复
      • 意思用官方最新的DirectoryLister/resources/themes/bootstrap/index.php进行替换吗
        天也就这么大2018-04-12 13:47 回复
        • 用我的魔改版最新版啊。
          Toyo2018-04-12 14:22 回复
  25. 建立中文 文件夹会报出 PHP Warning: file_exists(): in D:\wwwroot\192.168.123.101\resources\DirectoryLister.php on line 246 建立英文 文件夹 不加readme会报出 PHP Warning: file_exists(): open_basedir restriction in effect. File(lalala/README.*) is not within the allowed path(s): (D:\wwwroot\192.168.123.101) in D:\wwwroot\192.168.123.101\resources\DirectoryLister.php on line 246 求大佬解答
    爪哇直立人2018-04-10 14:07 回复
    • 你是用 windows 系统搭建的PHP环境?我只在 Linux 系统测试过。
      Toyo2018-04-10 14:29 回复
  26. 将resources文件夹复制至网站根目录即可解决子目录css无法加载问题
    fvckadmin2018-04-06 17:10 回复
  27. 你好,我搭建了一个电子书的下载网站,也加了腾讯的 cdn ,打开速度很快,但是文件下载速度很慢,有没有什么办法提升下?感谢🙏
    扫地僧2018-03-31 10:20 回复
  28. : failed to open stream: No such file or directory in /www/wwwroot/u/resources/themes/bootstrap/index.php on line 14 不放README.html的话,就会提示这个。有没有可能做到,放README.html就显示README.html的内容,如果没有README.html,就不显示了,也就没报错了。要不然每个文件夹都要放一个空的README.html,就会好麻烦。感恩大大了~ :mrgreen:
    老几2018-03-26 05:25 回复
    • 这是一个老毛病了,忘记修复了,刚才顺手修复了,加了一个判断,如果文件不存在就不回去读取文件内容了(之所以PHP警告就是因为没有加判断,导致读取空的文件内容报错)。
      Toyo2018-03-26 14:20 回复
  29. 请问站长那个 顶部公告栏 这几个字该如何修改,没找到在哪,谢谢
    南思2018-02-17 18:08 回复
    • .../resources/themes/bootstrap/index.php 第67行。
      Toyo2018-02-17 18:16 回复
  30. 博主,已经搞定,一直有缓存,搞蒙我了
    无语2018-02-06 22:01 回复
  31. 博主,显示不了README.html的说明,是哪里需要设置吗
    无语2018-02-06 20:48 回复
  32. 感谢大佬分享,装好了! 但是,主页上多了条这样的提示:Warning: file_get_contents(): Filename cannot be empty in /www/wwwroot/hotfiles/resources/themes/bootstrap/index.php on line 14 请问怎么解决?我加了“//”可以吗?
    cookie2018-02-01 18:55 回复
    • 不用管这个,你只需要吧 PHP设置里面的输出 DEBUG 功能关闭即可(自行谷歌)。
      Toyo2018-02-01 23:44 回复
    • 你解决了吗 我的也会 :oops: 不会搞
      无语2018-02-06 20:10 回复
    • 宝塔面板-软件管理-PHP对应版本-设置-配置修改-display_errors,是否输出错误信息-关闭
      老几2018-03-26 09:26 回复
  33. 您好,请问才能作一个类似你那样的github压缩包供别人下载
    [email protected]2018-01-27 18:18 回复
    • 什么鬼?
      Toyo2018-01-27 18:21 回复
      • 就是点你的那个连接自动下载的那个
        [email protected]2018-01-28 13:36 回复
        • 哪个链接?
          Toyo2018-01-28 14:55 回复
          • 就是这个连接Github打包:https://github.com/ToyoDAdoubiBackup/DirectoryLister/archive/master.zip
            [email protected]2018-01-29 09:13 回复
            • 这是 Github 自带的功能呀。比如你进入我的项目首页,然后右边有个 绿色的按钮[Clone or download],点击后会显示 [Download ZIP] 按钮,点击后就会把当前项目打包下载。
              Toyo2018-01-29 15:09 回复
  34. 博主好。博客受益良多。 用的是cPanel面板,不知道为什么会自动生成error_log文件(并没有任何错误),可以看看 dl.hxis.me 。请问有办法解决吗。
    惶心2017-11-23 09:23 回复
    • 什么意思?你是说 cPanel面板 会自动生成 error_log 错误日志文件?这好像很正常啊,其他的LNMP一键包或者面板中的nginx之类的都会默认在日志目录生成一个错误日志文件,尽管没错误内容。
      Toyo2017-11-23 10:29 回复
    • 编辑 \resources\config.php 里,添加一行 'error_log', 隐藏掉就好了 :mrgreen:
      Terry2018-08-29 19:12 回复
      • 这个问题,我前几个月就修复了。
        Toyo2018-08-29 22:50 回复
  35. DirectoryLister更新到了2.7.1,大大是否可以按照这个源也来个魔改版本。比较喜欢白色背景,请问如何改呢?感谢
    初缘2017-11-22 14:57 回复
    • CSS 自己学习自己改。
      Toyo2017-11-23 10:47 回复
  36. 请问我这里lnmp用oneinstack搭建的,伪静态选那个呢?(wordpress,opencart,magento2,drupal,joomla,laravel,thinkphp,pathinfo,discuz,typecho,ecshop )我选的other还有typecho 都出现No input file specified. 网页打不开都现象。参照一些教程添加fastcgi_split_path_info ^(.+?.php)(/.*)$;也没有什么效果。fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;还有include enable-php-pathinfo.conf;也按照一些解决方法试过了,都不行。本来是按照军哥的lnmp安装没任何问题,但是军哥的脚本我无法在我的vps上面安装nextcloud,所以不得不选oneinstack了。结果又出了这个幺蛾子。
    Go2017-11-20 08:33 回复
    • 不需要任何伪静态规则,避免出错。你可以自己打开虚拟主机配置文件找到伪静态规则的配置代码删除即可。
      Toyo2017-11-20 21:04 回复
  37. 请问有木有办法能加CDN呢?不是Cloudflare那种。 我自己正在尝试,结果经常500.
    Steven2017-11-07 10:46 回复
    • 什么意思?CDN实际上就是 集群反向代理+缓存。
      Toyo2017-11-07 11:16 回复
      • 我的意思是, 假设站点是xx.domains.tld, 然后cdn是xx-cdn.domains.tld. 在正常浏览文件的时候用xx.domains.tld,但是当点击文件下载的时候下载链接变成xx-cdn.domains.tld/file_dir/file_name(应该是xx.domains.tld/file_dir/file_name) 针对文件的cdn,而不是像cloudflare一样的整站cdn
        Steven2017-12-07 00:09 回复
        • 这个我无法实现。
          Toyo2017-12-07 14:18 回复
  38. 其实DL的源代码里面有了一个method叫containsIndex,仿照写或者改一下(反正这个method我没找到调用)就可以不用像md_path找的这么复杂。
    逗王2017-10-23 18:40 回复
  39. 中文文件名或文件夹名显示乱码咋整?
    Drime2017-09-29 15:32 回复
    • 我也是这个问题,同求
      gbbgb2018-02-08 19:12 回复
    • 刚刚把中文显示搞好了,到resources\themes\bootstrap\index.php 这个文件里面找到$name,替换成iconv('GBK','UTF-8',$name);,有3个,分别在89 90 94行
      gbbgb2018-02-08 21:09 回复
  40. README.html 的实际样式是什么样的 希望能分享个样板 :)
    will2017-08-29 01:13 回复
    • 式样照着我的逗比云目前的式样(查看网页源代码) 做就行了。
      Toyo2017-08-29 01:22 回复
  41. 大大,请问这个是不是windows下容易出错呀,经过测试我在windows环境下各种版本各种出错,但是原版2.71在php2.3.29无错。 http://43.255.28.193/1/ 和 http://43.255.28.193/2/
    xhaxhackf2017-08-26 12:36 回复
    • 这是因为 CSS式样文件路径的问题,你放在 子目录下就会404 。
      Toyo2017-08-26 12:55 回复
  42. 这个上传文件要在ftp上传?弄个网页在线上传有时候很方便。
    Ruanun2017-07-31 19:17 回复
  43. 怎么实现 你的那个 自动更新软件的问题?
    筑楼2017-07-07 17:03 回复
    • 自己学习脚本语言Shell,curl/wget获取最新版本号,取出本地文件名(文件名格式规范化,XXX-v0.0.0.exe),对比是否一样,如果不一样就根据固定格式的下载链接(版本号为唯一变量)来更新,研究研究自己就懂了。
      Toyo2017-07-08 00:27 回复
      • 求问有模板咩? 我比较想自己更新Nginx和PHP什么的
        Steven2017-11-07 10:44 回复
  44. 突然发现貌似只适合有域名的网站,对于我想直接用IP登陆的人来说却有点无所适从了
    千月2017-06-27 20:13 回复
  45. 不知道哪里弄的不对,中文文件夹名称显示乱码 :cry:
    ojc2017-03-25 20:18 回复
    • 找到原因了,ftp工具编码问题
      ojc2017-03-25 20:58 回复
  46. 网页加载出来是这样的https://raw.githubusercontent.com/tkkcc/test/master/%E6%88%AA%E5%B1%8F%E5%9B%BE%E7%89%87.png 原版没问题,vfm2、芒果云也没问题。 :cry:
    ttt2017-03-24 12:45 回复
    • 你这是CSS没加载出来,F12 审查元素看看。
      Toyo2017-03-24 13:37 回复
      • 把网页放网站根目录可以了。我发现ss-panel也得这样,但其他的比如芒果云,aria2NG,原版directlist,vfm2就可以用域名/vfm2/ 域名/dl 这样的二级目录。可能是相对路径的问题吧
        ttt2017-03-24 16:37 回复
  47. 多谢偷油分享! :roll: GITHUB下载的包 default_header.php 文件中文显示乱码,需要存回utf-8编码才正常,偷油看是否要UPDATE下包内文件吧,mark 一下。
    测试者2017-03-23 08:49 回复
    • 这个问题已经修复。
      Toyo2017-03-23 12:19 回复
      • :roll: 拇指UP起来
        测试者2017-03-23 12:36 回复
  48. 请问toko,不显示说明这个是什么问题来着;没找到原因,谢谢!
    七月2017-03-22 12:07 回复
    • 信息太少,不清楚。
      Toyo2017-03-22 17:13 回复
      • 简介说明功能显示不出来,相应的目录下我也放好了README.html;编码也没问题,暂时还没找到原因;给分析分析
        七月2017-03-23 10:17 回复
      • 实在是没找到是哪里的问题导致README.html内容不显示出来,也就是toko你说的:# 文件夹内的 说明简介文件 #这个显示不出来,麻烦看看是什么地方问题。
        七月2017-03-24 10:43 回复
        • 什么都没有,我怎么看。。。
          Toyo2017-03-24 13:40 回复
          • 额,光顾着说了;附上地址:test.moyoo.net 烦请看看
            七月2017-03-24 14:42 回复
            • 找到问题了,当初我是自用的,现在开源了忘记了,文章里已经更新了步骤。
              Toyo2017-03-24 14:56 回复
  49. 似乎挺好看的。。加油! ------我是小小的分割线------ Toyo,你可以试一试带权重的多人投稿,挺好的。 (假邮箱啊)
    SL2017-03-21 18:20 回复
    • 投稿倒是考虑过,就是质量可能参差不齐。
      Toyo2017-03-21 19:46 回复
  50. 没什么事,就是来抢个沙发。
    大人看的片叫大片2017-03-21 17:31 回复
1 2