虽然说现在照片还有文件存储等都可以上传到网盘中,但是国内的网盘与国外的网盘存储还有点不一样。以百度网盘与Dropbox对比为例,百度网盘顶多算是一个个人用来存放私人照片和文件的网络硬盘,如果用来分享的话很容易被百度限制或者取消下载。
很多的个人站长为了分享方便都会选择自己搭建存储下载中心,例如挖站否搭建的个人下载中心ucblog.net就是用Directory Lister程序搭建的,只要有PHP环境,不需要数据库,就可以跑Directory Lister,这样的程序简单但是搬家特别简单,直接打包再上传即可。
Directory Lister是国外人开发的,对于中文自然有不少的兼容问题。本篇文章就来分享一下两款开箱即用、上手容易的图床相册程序ImgURL和在线文件管理器目录列表程序Zdir,由好友xiaoz.me开发并维护,非常适合个人站长用作图床相册和文件下载分享。
对于不是主要用来分享而来用来存储,我们可以利用VPS主机搭建云存储服务,相关的教程有:
PS:更新记录.
1、更多的目录列表程序你可以查看专题页面:目录列表程序整理汇总-OneDrive,阿里云盘,GoogleDrive等各大网盘目录列表程序。2021.12.7
ImgURL是一款简单、纯粹的图床程序,使用PHP + SQLite 3开发,不需要复杂的配置,做到开箱即用。
环境要求
PHP >= 5.6
需要exif函数支持
SQLite 3
功能与特色
拽拖上传,自动生成连接,一键复制。
图片预览与探索
基本的图片管理
支持TinyPNG图片压缩
开发计划
图片上传与预览
一键生成链接
浏览与删除图片
限制访客上传数量
图片压缩
图片鉴黄
图片水印
API上传
安装步骤:
http(s)://domain.com/check.php
获取配置信息,并记录下来。config.php
设置你自己的域名和密码,访问 http(s)://domain.com/
即可,就是这么简单。安全设置
配置完毕后测试功能没问题,请删除根目录的
check.php
Apache默认已经通过
.htaccess
文件来屏蔽数据库下载Nginx用户请在server段内添加如下配置,并重启Nginx
location ~* \.(db3)$ {
deny all;
}
ImgURL点击上传图片后就会显示链接地址,图片存储界面效果如下图(点击放大):
ImgURL还提供了后台管理图片的功能,可以快速查看已经上传的图片。
启用TinyPNG压缩图片。访问 https://tinypng.com/ 官网注册账号,并获取自己的API KEY。TinyPNG提供了优秀的图片压缩服务,并且提供API支持,普通用户有500次/月的限制,不过ImgURL可以填写多个TinyPNG KEY,让API次数得到叠加以压缩更多图片。
打开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
PS:2023.3.18更新,新版的Zdir 3安装与使用教程:。
Zdir是一款使用PHP开发的目录列表程序,支持Markdown文件预览,可以在线删除文件,在您访问的页面加上?admin
或&admin
参数,文件后面会出现删除按钮,可以对文件进行删除。
使用方法
下载源码放到站点根目录
修改
config.php
设置自己的网站标题/关键词/描述如果需要排除某个目录,再次修改
config.php
,里面有说明更多说明请查看帮助文档:https://doc.xiaoz.me/docs/zdir
主要功能
目录浏览
MarkDown文件预览
CSS/JavaScript一键复制
文件hash
图片预览
文件索引
二维码生成
文件删除
注意事项:不要使用中文命名目录/文件,否则可能发生不可预料的错误。程序界面如下图(点击放大):
MarkDown文件预览。如果是MarkDown文件(.md)后面会出现一个小眼睛按钮,点击此按钮可直接预览。如果文件是以readme.md命名,会出现“使用说明”按钮,点击也可以预览,如下截图。
链接复制。复制按钮会根据文件类型判断,最后返回不同的复制结果,在用于搭建前端库的时候非常有帮助,比如:
<!–如果复制的是.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暂时未实现文件搜索功能,不过通过“文件索引”功能加上“Ctrl + F”,找文件也是分分钟的事情。“文件索引”缓存时间为24小时,如果希望立即清除缓存请访问cache.php?del=cache
。
ImgURL特别适合图片分享,不管是管理员还是游客,都可以直接上传图片并分享链接。需要指出的就是ImgURL还可以设置图片鉴黄、压缩图片等,这样都需要自己提前申请好API才可以正常应用。
Zdir则有点儿类似于Directory Lister,只要PHP就可以跑起来,而功能简单但是非常实用,上手也很容易。想要更多的在线文件管理器可以看看:三款优秀的在线文件管理器(目录列表)对比。
文章出自:挖站否 https://wzfou.com/imgurl-zdir/,内容参考来自 xiaoz.me、小z博客 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
文章更新于: 2023年3月18日 上午11:44
查看评论
zDir现支持文件管理,后台加了个admin.php( zdir/functions/admin.php)。不过我打开php看了下用的是另一个类似软件的文档,叫Tiny File Manager (https://tinyfilemanager.github.io/docs/)。
感觉作者还没有完成整体架构的最终设计,不知他何时会把后台文档管理重写一份。
现在感觉有个后台管理文件还是挺好。因为有时开个客户端上传真的不方便。
Composer,这个好像很流行,写篇文说下怎么安装和详细的各种用法吧
好的,正在学习Composer。
为什么还有人伪装我。。。
两个可乐?
他的邮箱填的我的smtp那个邮箱 然后我就收到回复邮件了不过被扔到垃圾箱里了 _(:з」∠)_
那可能是被盗用了。
已经在用了 :-)
宝杰相册:http://xiangce.baojie.ml
页面出现PHP错误。
DirLister我也在用,对中文的支持应当是没问题的,我发现它没问题是因为,我自己遇到了奇怪的问题无法解决:主机刚启动时就访问DL,它一切显示正常,但过了一阵子,再访问,有些中文名的文件就不正常。说不正常是因为:如果该文件名中含有中文和英文(其它文字没试过),那么它能正确显示从英文字符开始的后续中文,比如“wzfou中文站.zip”,能够正常显示,但是“挖站不-中文挖站.zip”就显示为“-中文挖站.zip”,如果纯英文字符的文件名,正常显示,如果全中文名,也就是起头第一个字符是中文,那么除了文件后续的英文外全部不能显示。以为这是UTF-8设置的问题,专门去Github它站上看了,的确支持UTF-8。后来自己重启机器,初始访问时,怎么样的中文名又都能显示,但当我高兴没多久,以为是机器特殊情况,只要重启就好的时候,一刷新,又全部歇菜。
逗比改的DirLister你去试试,我用了还不错,没出错地方!
多谢。逗比的那个魔性版我看到过,但我想解决的是,为什么的版的明明是支持UTF-8编码的,但却出现那样奇怪的事情。在Github上翻了一阵子,没找到答案。心里有点痒痒的,想抽个空换台主机试试,不知是否与主机环境有关?感觉又不会。
有可能是Windows编码时保存问题导致的。
过来更新一下情况。这个应当不是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到主机上,一定程度上说,也提升了网站安全性。
有空我也试试ngx-fancyindex看看。LEMP是不是国外的LNMP?
这两个是一回事,只是由于Nginx的发音,有的爱用LEMP,有的爱用LNMP。国内LNMP.org的一键包令这个词变得通用,海外似乎用LEMP的更多。Oneinstack的作者除了在GitHub上用过lnmp的分支外,还建立了一个lempstack的网站(https://lempstack.com/download/)用于向海外推广他的Oneinstack。两个东西和Oneinstack基本是一样的,只是同步有些早晚的不同。
原来这样。lempstack.com的图片貌似还用的是中文 的。
Directory Lister有一个汉化版本的,对中文支持不错,可以试试。
图床很不错,我记得原来的支持上传到七牛。
🌝 Zdir 如果能像 GitHub 那样直接显示 README.MD 的内容就好了
点击眼睛可以预览。
imgURL后台看不到游客和管理员上传图片,怎么破?
这种情况可能是写入数据库失败导致,检查数据库目录db是否可写。
确实DB目录问题,谢谢!
前排支持
占了沙发。