开箱即用-简洁实用的ImgURL图床相册程序和Zdir目录列表程序(文件管理器)

虽然说现在照片还有文件存储等都可以上传到网盘中,但是国内的网盘与国外的网盘存储还有点不一样。以百度网盘与Dropbox对比为例,百度网盘顶多算是一个个人用来存放私人照片和文件的网络硬盘,如果用来分享的话很容易被百度限制或者取消下载。

很多的个人站长为了分享方便都会选择自己搭建存储下载中心,例如挖站否搭建的个人下载中心ucblog.net就是用Directory Lister程序搭建的,只要有PHP环境,不需要数据库,就可以跑Directory Lister,这样的程序简单但是搬家特别简单,直接打包再上传即可。

Directory Lister是国外人开发的,对于中文自然有不少的兼容问题。本篇文章就来分享一下两款开箱即用、上手容易的图床相册程序ImgURL和在线文件管理器目录列表程序Zdir,由好友xiaoz.me开发并维护,非常适合个人站长用作图床相册和文件下载分享。

开箱即用-简洁实用的ImgURL图床相册程序和Zdir目录列表程序(文件管理器)

对于不是主要用来分享而来用来存储,我们可以利用VPS主机搭建云存储服务,相关的教程有:

  1. DigitalOcean Spaces云存储空间管理使用-可用于同步备份挂载扩容
  2. Plex完美个人影音云盘搭建教程-Plex Media Server安装与使用方法
  3. 利用Pydio搭建免费私有云存储-多终端自动同步可在线播放音乐视频

PS:2018年8月21日更新,微软的OneDrive网络硬盘一直以大容量、很稳定著称,不少人将OneDrive当成了网络存储工具,这里有一个将OneDrive打造成为外链网盘的方法:OneDrive变身外链网盘-Aria2+Aria2Ng+OneIndex自动上传OneDrive

一、图床相册程序:ImgURL

  1. 项目地址:https://github.com/helloxz/imgurl
  2. 演示地址:https://imgurl.org/

1.1  ImgURL介绍

ImgURL是一款简单、纯粹的图床程序,使用PHP + SQLite 3开发,不需要复杂的配置,做到开箱即用。

环境要求

PHP >= 5.6

需要exif函数支持

SQLite 3

功能与特色

拽拖上传,自动生成连接,一键复制。

图片预览与探索

基本的图片管理

支持TinyPNG图片压缩

开发计划

图片上传与预览

一键生成链接

浏览与删除图片

限制访客上传数量

图片压缩

图片鉴黄

图片水印

API上传

1.2、安装与使用

安装步骤:

  1. 访问:master.zip下载最新版ImgURL程序,放到您的站点根目录并解压。
  2. 访问http(s)://domain.com/check.php获取配置信息,并记录下来。
  3. 修改config.php设置你自己的域名和密码,访问 http(s)://domain.com/ 即可,就是这么简单。

安全设置

配置完毕后测试功能没问题,请删除根目录的check.php

Apache默认已经通过.htaccess文件来屏蔽数据库下载

Nginx用户请在server段内添加如下配置,并重启Nginx

location ~* \.(db3)$ {  
    deny all;  
} 

ImgURL点击上传图片后就会显示链接地址,图片存储界面效果如下图(点击放大):

ImgURL使用效果

ImgURL还提供了后台管理图片的功能,可以快速查看已经上传的图片。

ImgURL后台管理

1.3、图片压缩和调整上传大小

启用TinyPNG压缩图片。访问 https://tinypng.com/ 官网注册账号,并获取自己的API KEY。TinyPNG提供了优秀的图片压缩服务,并且提供API支持,普通用户有500次/月的限制,不过ImgURL可以填写多个TinyPNG KEY,让API次数得到叠加以压缩更多图片。

ImgURL图片压缩

打开config.php填写自己的TinyPNG API key保存即可。(支持异步压缩图片,不影响上传速度),配置文件示例如下:

// TinyPNG压缩图片
$tinypng = array(
"option" => true,
"key" => array(
"xxx", //支持填写多行key
"xxx" //如果只有一个key,请删除此行,注意最后一行没有逗号(,)
)
);

修改上传大小。ImgURL图床相册程序默认限制2M上传大小,您可以通过如下方法修改限制。打开/functions/upload.php 找到如下代码:

$handle->file_max_size = '2097152';

单位为字节,自行修改即可。为了保证上传稳定性,不建议超过10M。继续打开static/embed.js找到下面这一行进行修改

,size: 2048

二、目录列表程序:Zdir

  1. 项目:https://github.com/helloxz/zdir
  2. 演示:http://soft.xiaoz.org/

Zdir是一款使用PHP开发的目录列表程序,支持Markdown文件预览,可以在线删除文件,在您访问的页面加上?admin&admin 参数,文件后面会出现删除按钮,可以对文件进行删除。

Zdir目录列表程序(文件管理器)

2.1  安装与使用

使用方法

下载源码放到站点根目录

修改config.php设置自己的网站标题/关键词/描述

如果需要排除某个目录,再次修改config.php ,里面有说明

更多说明请查看帮助文档:https://doc.xiaoz.me/docs/zdir

主要功能

目录浏览

MarkDown文件预览

CSS/JavaScript一键复制

文件hash

图片预览

文件索引

二维码生成

文件删除

注意事项:不要使用中文命名目录/文件,否则可能发生不可预料的错误。程序界面如下图(点击放大):

Zdir程序界面

2.2  功能详细说明

MarkDown文件预览。如果是MarkDown文件(.md)后面会出现一个小眼睛按钮,点击此按钮可直接预览。如果文件是以readme.md命名,会出现“使用说明”按钮,点击也可以预览,如下截图。

Zdir在线预览

链接复制。复制按钮会根据文件类型判断,最后返回不同的复制结果,在用于搭建前端库的时候非常有帮助,比如:

<!–如果复制的是.js文件,返回结果为–>
<script src = ‘https://libs.xiaoz.top/jquery/2.0.3/jquery-2.0.3.js’></script>
<!–如果复制的是.css文件,返回结果为–>
<link rel=’stylesheet’ href=’https://libs.xiaoz.top/layer/skin/layer.css’>
<!–如果是图片等文件–>
<img src = ‘https://libs.xiaoz.top/material/loading/loading0.gif’ />
其它文件返回文件URL地址。

查看文件hash。点文件后面的“叹号”按钮,可以计算文件md5和sha1值,验证文件hash值,可避免运营商劫持等风险。

Zdir查看Hash

图片预览。鼠标移动到图片文件会显示图片预览,如下截图。

Zdir预览图片

文件索引。如果文件太多,查找不太方便,Zdir暂时未实现文件搜索功能,不过通过“文件索引”功能加上“Ctrl + F”,找文件也是分分钟的事情。“文件索引”缓存时间为24小时,如果希望立即清除缓存请访问cache.php?del=cache

Zdir文件索引

三、总结

ImgURL特别适合图片分享,不管是管理员还是游客,都可以直接上传图片并分享链接。需要指出的就是ImgURL还可以设置图片鉴黄、压缩图片等,这样都需要自己提前申请好API才可以正常应用。

Zdir则有点儿类似于Directory Lister,只要PHP就可以跑起来,而功能简单但是非常实用,上手也很容易。想要更多的在线文件管理器可以看看:三款优秀的在线文件管理器(目录列表)对比

文章出自:挖站否 https://wzfou.com/imgurl-zdir/,内容参考来自 xiaoz.me小z博客 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。


分享到:

关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。

已有 25 条评论
  1. 可乐

    Composer,这个好像很流行,写篇文说下怎么安装和详细的各种用法吧

    7月18日 05:29 回复
    • Qi

      好的,正在学习Composer。

      7月18日 09:51 回复
      • 为什么还有人伪装我。。。

        8月28日 23:29 回复
        • Qi

          两个可乐?

          8月29日 00:11 回复
          • 他的邮箱填的我的smtp那个邮箱 然后我就收到回复邮件了不过被扔到垃圾箱里了 _(:з」∠)_

            8月29日 00:14 回复
            • Qi

              那可能是被盗用了。

              8月29日 12:49 回复
  2. 已经在用了 :-)
    宝杰相册:http://xiangce.baojie.ml

    7月13日 08:25 回复
    • Qi

      页面出现PHP错误。

      7月13日 20:41 回复
  3. baoang

    DirLister我也在用,对中文的支持应当是没问题的,我发现它没问题是因为,我自己遇到了奇怪的问题无法解决:主机刚启动时就访问DL,它一切显示正常,但过了一阵子,再访问,有些中文名的文件就不正常。说不正常是因为:如果该文件名中含有中文和英文(其它文字没试过),那么它能正确显示从英文字符开始的后续中文,比如“wzfou中文站.zip”,能够正常显示,但是“挖站不-中文挖站.zip”就显示为“-中文挖站.zip”,如果纯英文字符的文件名,正常显示,如果全中文名,也就是起头第一个字符是中文,那么除了文件后续的英文外全部不能显示。以为这是UTF-8设置的问题,专门去Github它站上看了,的确支持UTF-8。后来自己重启机器,初始访问时,怎么样的中文名又都能显示,但当我高兴没多久,以为是机器特殊情况,只要重启就好的时候,一刷新,又全部歇菜。

    7月8日 21:37 回复
    • Qi

      Directory Lister有一个汉化版本的,对中文支持不错,可以试试。

      7月9日 09:17 回复
    • map

      逗比改的DirLister你去试试,我用了还不错,没出错地方!

      7月10日 14:24 回复
      • baoang

        多谢。逗比的那个魔性版我看到过,但我想解决的是,为什么的版的明明是支持UTF-8编码的,但却出现那样奇怪的事情。在Github上#了一阵子,没找到答案。心里有点痒痒的,想抽个空换台主机试试,不知是否与主机环境有关?感觉又不会。

        7月10日 22:28 回复
        • Qi

          有可能是Windows编码时保存问题导致的。

          7月11日 14:58 回复
          • baoang

            过来更新一下情况。这个应当不是Win的编码问题,我在Linux上测试过,分别让它自己下载、我从Windows电脑上传、在Linux主机上生成这三种方式,都不行。
            今天我突然想到,是否会是跟LEMP的编译有关,也许没有把中文支持给写进去?后来试了下PHP编译中有一个PCRE的部分,但没有成功,看来跟这个LEMP的环境是没关系了(NGINX的配置中加上UTF-8也试了)。
            无奈之下,去了DL的GITHUB站看看有没有人提出新问题,结果#看之下被我发现除了:
            https://github.com/DirectoryLister/DirectoryLister/issues/176
            以外(上面这个链接是以前的,官方并没有真正的解决办法),有人给官方FORK过一个功能改善:
            https://github.com/DirectoryLister/DirectoryLister/pull/204/commits/4b1286ea8cdc9428d71f344a8f9b1ae3619359cc
            看了下他把官方的代码修改了一部分。
            于是我直接到新作者的REPO里GIT了一份,在主机上测试了一下,结果相当满意,没有了之前中文打头就不能显示的问题,也没有显示不了中文的问题了。
            附新作者的REPO
            https://github.com/Akyuu/DirectoryLister
            现在这款DirectoryLister才真正合适华人或者要在目录里列中文的用户使用,估计也可以正常显示韩文日文等文字了吧,不过我没试。
            可惜这个晚了些,应当也没有被官方正式纳入新版,因为刚才测试新版仍然不行。我目前已经弃用这个列目录的PHP代码了,转向ngx-fancyindex了,因为是直接编译进NGINX的,速度很流畅,也不用考虑PHP的问题,也就是说,如果全部静态页面,根本不需要加装PHP到主机上,一定程度上说,也提升了网站安全性。

            8月15日 23:46 回复
            • Qi

              有空我也试试ngx-fancyindex看看。LEMP是不是国外的LNMP?

              8月17日 15:20 回复
              • baoang

                这两个是一回事,只是由于Nginx的发音,有的爱用LEMP,有的爱用LNMP。国内LNMP.org的一键包令这个词变得通用,海外似乎用LEMP的更多。Oneinstack的作者除了在GitHub上用过lnmp的分支外,还建立了一个lempstack的网站(https://lempstack.com/download/)用于向海外推广他的Oneinstack。两个东西和Oneinstack基本是一样的,只是同步有些早晚的不同。

                8月17日 19:35 回复
                • Qi

                  原来这样。lempstack.com的图片貌似还用的是中文 的。

                  8月18日 11:27 回复
  4. ne

    图床很不错,我记得原来的支持上传到七牛。

    7月8日 08:23 回复
  5. SaintW

    🌝 Zdir 如果能像 GitHub 那样直接显示 README.MD 的内容就好了

    7月8日 00:38来自iPhone 回复
    • Qi

      点击眼睛可以预览。

      7月8日 09:02 回复
  6. map

    imgURL后台看不到游客和管理员上传图片,怎么破?

    7月7日 21:05 回复
    • 这种情况可能是写入数据库失败导致,检查数据库目录db是否可写。

      7月7日 21:40 回复
      • map

        确实DB目录问题,谢谢!

        7月8日 12:50 回复
  7. 前排支持

    7月7日 20:09 回复
  8. 焉然

    占了沙发。

    7月7日 19:12 回复

Login

欢迎!请登录你的账号。

记住我 忘记密码?

还未注册 注册

Lost Password

Register

返回顶部