一:简介
- h5ai是一款功能强大php文件目录列表程序,不需要数据库。它提供多种文件目录列表呈现方式,支持Apache httpd,
lighttpd, nginx等多种web服务器,支持多国语言(如英语,简体中文等),你可以在线预览txt,图片,音频,视频等文件格式。 - h5ai功能包括:文件排序,不同视图模式,本地化,面包屑,树视图,自定义页眉和页脚,文件过滤器和搜索,文件夹大小,自动刷新,打包下载,QR码,缩略图,文件预览。
- 仅支持直接在线查看PDF、TXT、PHP、sh
- doc不能在线阅读,只可以下载
二:h5ai安装
要求:PHP 5.5+
在宝塔面板,我们需要在php中安装ImageMagick、fileinfo、exif扩展。
我们可以在官网下载安装,也可以在github上下载,不过官网打开貌似不稳定。我们下载程序包,解压然后将_h5ai
上传到网站根目录
设置
添加/_h5ai/public/index.php
到默认的首页列表中. 以下是Apache、Nginx等修改配置的方法:
Apache:
DirectoryIndex index.html index.php /_h5ai/public/index.php
lighttpd:
index-file.names += ("index.html", "index.php", "/_h5ai/public/index.php")
nginx:
index index.html index.php /_h5ai/public/index.php;
Cherokee:
vserver!1!directory_index = index.html,index.php,/_h5ai/public/index.php
宝塔面板在网站设置→默认文档底部添加/_h5ai/public/index.php
省略上面步骤
三:使用与问题
目录修改
默认的_h5ai文件夹可以修改一下,比如修改成h5ai
需要修改以下两个地方
- 网站默认文档:网站设置→默认文档里面添加为
h5ai/public/index.php
- options.json文件:
h5ai/private/conf/options.json
,修改"hidden"
后方内容大约69行,将_h5ai
改为h5ai
如下--
"view": {
"binaryPrefix": false,
"disableSidebar": false,
"fallbackMode": false,
"fastBrowsing": true,
"fonts": ["Ubuntu", "Roboto", "Helvetica", "Arial", "sans-serif"],
"fontsMono": ["Ubuntu Mono", "Monaco", "Lucida Sans Typewriter", "monospace"],
"hidden": ["^\\.", "^h5ai"],
"hideFolders": false,
"hideIf403": true,
"hideParentFolder": false,
"maxIconSize": 40,
"modes": ["details", "grid", "icons"],
"modeToggle": false,
"setParentFolderLabels": true,
"sizes": [20, 40, 60, 80, 100, 140, 180, 220, 260, 300],
"theme": "comity",
"unmanaged": ["index.html", "index.htm", "index.php"],
"unmanagedInNewWindow": false
}
设置访问密码
在_h5ai/public/index.php
最下面增加以下代码:
function mima(){
$user=array('填写你的用户名','填写你的密码');
if(!($user[0]===$_SERVER['PHP_AUTH_USER'] && $user[1]===$_SERVER['PHP_AUTH_PW'])){
header('WWW-Authenticate: Basic realm="MY Mark"');
header('HTTP/1.0 401 Unauthorized');
die("please login");
}
}
然后在第一行,也就是<?php
的下面(也就是第二行)插入以下代码:
mima();
h5ai其它的一些配置,例如字体、CSS、标题等都可以在options.json
文件进行修改。默认路径: _h5ai/private/conf/options.json
运行异常
如果存在文件,但读不出来,可能原因就是php
已禁用scandir
函数了,将php.ini
中的putenv、exec、passthru
三个函数删除,将private和public两个文件夹中的cache目录权限设置为777
disable_functions=passthru,exec,system,chroot,scandir,...
删掉scandir,
字样,再重启php
即可:/etc/init.d/php-fpm restart
缩略图异常
需要配置好PHPexif模块、ffmpeg、ImageMagick
等组件。
设置默认中文语言
"l10n": {
"enabled": true,
"lang": "zh-cn",
"useBrowserLang": true
},
版权修改
修改_h5ai/private/php/pages/index.php
文件,建议保留网站右上角的powerby部分!