介绍
TinyFileManager是一个单文件的目录程序,优点是部署简单,快速,只需将文件上传至网站即可使用,并且功能丰富,几乎需要使用的功能都包含在内,支持数十种语言,包含中文繁/简字体;
功能
- 支持上传下载
- 支持URL上传
- 支持多用户,账号/密码
- 支持用户权限设置
- 支持多国语言
- 支持在线预览
- 支持在线压缩/解压,使用zip
- 支持在线创建/编辑/粘贴/复制/移动/删除
- 支持在线搜索/筛选
- 支持隐藏指定文件及文件夹
源码
⇒TinyFileManager下载地址
GitHub地址:点击进入
在没有CDN资源的情况下脱机工作的版本,脱机分支:点击进入
密码生成:搭建好进入web,点击右上角登录头像,选择“帮助”,选择“生成新的hash密码”
环境
php5.6/7.0/7.2都可以
http后端服务:Apache2.2/2.4都可以
修改php数值:post_max_size和upload_max_filesize的数值,这两个将影响上传文件大小
使用
下载得到的压缩包解压后将其中的tinyfilemanager.php
文件上传至网站目录并重命名为index.php
即可(不要意外就是一个文件,后续加个语言包就是2个文件),然后打开网站即可看到登录页面,默认有两个用户用户名:admin 密码:admin@123
和用户名:user 密码:12345
账户密码
修改用户及密码只需修改index.php
中以下代码
前面的是用户名,密码部分采用的是PHP哈希密码值,从上面给出的密码生成网站生成即可;
// Users: array('Username' => 'Password', 'Username2' => 'Password2', ...)
$auth_users = array(
'admin' => '$2y$10$axZWlisI..n9xmULN4gbhectUdOpu0z64xb9ysycHQ5ubKYcEY5sW', //admin
'user' => '$2y$10$.mwmDmZH2003EjFobn86QuU3kr6NAmUYAaMVWQdLXYkirie7EJxj6', //12345
);
按照以上方式添加账号,其实一个账号就够
如果不想使用账户密码,可以修改以下代码
$use_auth = true;
# 要使用账号密码设置为true,不使用账号密码设置为false
设置语言
index.php
这个程序文件是默认英语,不能设置成其它语言
修改语言需要将压缩包内的语言文件translation.json
一同上传即可
然后即可在目录设置中修改语言了
隐藏文件
如果需要隐藏指定文件或文件夹,可以修改以下代码
$exclude_items = array();
# 例:隐藏名为sunpma的文件夹,隐藏名为sunpma.mp4的视频文件,隐藏所有后缀为.zip的文件;
# 注意最后一个设置项没有,符号;
$exclude_items = array(
'sunpma',
'sunpma.mp4',
'*.zip'
);
google源修改为国内源
在index.php
中两处 ajax.googleapis.com
修改为 cdn.bootcdn.net
将:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
替换为:
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
将:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
替换为:
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
去除svg图案,加快访问速度
去除div class=”form-group”下:
<div class="brand">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" M1008 width="100%" height="80px" viewBox="0 0 238.000000 140.000000" aria-label="H3K Tiny File Manager">
<g transform="translate(0.000000,140.000000) scale(0.100000,-0.100000)" fill="#000000" stroke="none">
<path d="M160 700 l0 -600 110 0 110 0 0 260 0 260 70 0 70 0 0 -260 0 -260 110 0 110 0 0 600 0 600 -110 0 -110 0 0 -260 0 -260 -70 0 -70 0 0 260 0 260 -110 0 -110 0 0 -600z"/>
<path fill="#003500" d="M1008 1227 l-108 -72 0 -117 0 -118 110 0 110 0 0 110 0 110 70 0 70 0 0 -180 0 -180 -125 0 c-69 0 -125 -3 -125 -6 0 -3 23 -39 52 -80 l52 -74 73 0 73 0 0 -185 0 -185 -70 0 -70 0 0 115 0 115 -110 0 -110 0 0 -190 0 -190 181 0 181 0 109 73 108 72 1 181 0 181 -69 48 -68 49 68 50 69 49 0 249 0 248 -182 -1 -183 0 -107 -72z"/>
<path d="M1640 700 l0 -600 110 0 110 0 0 208 0 208 35 34 35 34 35 -34 35 -34 0 -208 0 -208 110 0 110 0 0 212 0 213 -87 87 -88 88 88 88 87 87 0 213 0 212 -110 0 -110 0 0 -208 0 -208 -70 -69 -70 -69 0 277 0 277 -110 0 -110 0 0 -600z"/></g>
</svg>
</div>
还有其它许多功能,大家可以看看官方说明文档,都解释得比较详细了
官方提供的使用文档说明
用户管理
您只需要打开它并使用以下凭据(您应该更改它们!
管理员用户:管理员/admin@123
普通用户:用户/12345
// Users: array('Username' => 'Password', 'Username2' => 'Password2', ...)
$auth_users = array(
'admin' => '$2y$10$axZWlisI..n9xmULN4gbhectUdOpu0z64xb9ysycHQ5ubKYcEY5sW', //admin
'user' => '$2y$10$.mwmDmZH2003EjFobn86QuU3kr6NAmUYAaMVWQdLXYkirie7EJxj6', //12345
'guest' => '$2y$10$a.DMI5sRjAnvhb.8rFAXY.XPSEO/eatVb4qCMmTc2YcxTDKp9xMyC' //guest
);
$auth_users
要启用/禁用身份验证,请设置为 true 或 false。$auth_users
// Auth with login/password (set true/false to enable/disable it)
$use_auth = true; //change to false to disable the authentication
密码
使用 PHP 生成安全密码password_hash()
密码生成器
$auth_users = array(
'username' => 'REPLACE YOUR GENERATED PASSWORD HERE'
);
如果无法生成密码或遇到任何问题,请使用tinyfilemanager itsef在tinyfilemanager上生成密码 >设置>在此处生成新的密码哈希或替代密码生成器
或者你可以直接使用密码哈希在tinyfilemanager 它自己
$auth_users = array(
'username' => password_hash('password here', PASSWORD_DEFAULT)
);
只读用户
将用户角色设置为只读权限,并且没有创建、编辑、删除和上传文件的权限
// Readonly users (usernames array)
$readonly_users = array(
'user',
'user1',
'guest'
);
用户特定目录
为每个用户分配特定目录
//array('Username' => 'Directory path', 'Username2' => 'Directory path', ...)
$directories_users = array(
'admin' => 'root',
'user' => 'root/user-folder',
'guest' => 'root/guest/temp'
);
排除文件和文件夹
配置的文件和文件夹将从列表中排除,如果多个位置的相同文件/文件夹也被排除在外
//Array of files and folders excluded from listing
$exclude_items = array(
'my-folder',
'secret-files',
'tinyfilemanger.php',
'*.php',
'*.js'
);
配置标志
FM_ROOT_PATH
– 默认值为 $_SERVER[‘DOCUMENT_ROOT’]FM_ROOT_URL
– 默认值为“http(s)://site.domain/”FM_SELF_URL
– 默认值为“http(s)://site.domain/”。$_SERVER[“PHP_SELF”]FM_ICONV_INPUT_ENC
– 默认值为“CP1251”FM_USE_HIGHLIGHTJS
– 默认值为真;启用/禁用代码突出显示FM_HIGHLIGHTJS_STYLE
– 默认值为“vs”FM_DATETIME_FORMAT
– 默认值为“d.m.y H:i”FM_EXTENSION
– 默认值为 “”;配置允许的文件扩展名以上传.i.e:“jpg,png,pdf,gif,html,css,js”
show_hidden_files
– 默认值为假;显示或隐藏以点开头的文件和文件夹$edit_files
– 默认值为真;在视图页面上启用 ace.js (https://ace.c9.io/)$sticky_navbar
– 默认值为真;启用/禁用固定导航顶部栏$online_viewer
– 默认值为真;谷歌文档查看器查看各种办公文件格式
defined(‘FM_ROOT_URL’) || define(‘FM_ROOT_URL’, ($is_https ? ‘https’ : ‘http’) . ‘://’ . $http_host . (!empty($root_url) ? ‘/’ . $root_url : ‘此处添加自定义登录路径’));