Aplicación web para la gestión de archivos programada en PHP. En un único fichero y compatible desde PHP 5.5.
Colocar el fichero tinyfilemanager.php en cualquier directorio que sirva el servidor web.
Ejemplo de fichero docker-compose.yml para emplear con Docker Compose:
--- version: '3.3' services: tinyfilemanager: image: 'tinyfilemanager/tinyfilemanager:master' container_name: tinyfilemanager ports: - '80:80' volumes: - './data:/var/www/html/data' restart: always
Tiny File Manager hace uso de las siguientes funciones que no aparecieron hasta la versión 5.5 de PHP:
Para poder usarlo en una versión anterior:
password_*()
Y la creación de la función hash_equals:
if(!function_exists('hash_equals')) { function hash_equals($str1, $str2) { if(strlen($str1) != strlen($str2)) { return false; } else { $res = $str1 ^ $str2; $ret = 0; for($i = strlen($res) - 1; $i >= 0; $i--) $ret |= ord($res[$i]); return !$ret; } } }
Estructura:
tinyfilemanager.php lib/random.php lib/password.php lib/hash.php
La configuración se hace desde el propio script o a través de un fichero de configuración con las opciones más comunes.
Por defecto, vienen creados dos usuarios: admin y user. Las contraseñas son admin@123 y 12345 respectivamente.
Para generar el hash de la contraseña, podemos usar una aplicación web desarrollada por la misma gente de Tiny File Manager: PHP5 PASSWORD HASH GENERATOR.
En el script de Tiny File Manager añadiríamos el usuario y el hash:
$auth_users = array( 'pepito' => '$2y$10$Fg6Dz8oH9fPoZ2jJan5tZuv6Z4Kp7avtQ9bDfrdRntXtPeiMAZyGO' );
Otra opción sería guardar la contraseña en claro:
$auth_users = array( 'pepito' => password_hash('12345', PASSWORD_DEFAULT) );
La descarga de Tiny File Manager incluye un fichero llamado translation.json (también accesible desde aquí). Si situamos dicho fichero en el mismo directorio que Tiny File Manager, podremos seleccionar el idioma desde el propio Tiny File Manager.