一:简介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目录权限设置为777disable_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部分!