Tabla de Contenidos

Tiny File Manager

Aplicación web para la gestión de archivos programada en PHP. En un único fichero y compatible desde PHP 5.5.

Características

Instalación

Manual

Colocar el fichero tinyfilemanager.php en cualquier directorio que sirva el servidor web.

Docker

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

Adaptación para PHP 5.4

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:

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

Configuración

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.

Usuarios

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)
);

Idioma

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.