Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 8 Agosto 2020, 11:06 am



Título: [Pregunta]: Obtener espacio utilizado
Publicado por: Leguim en 8 Agosto 2020, 11:06 am
Buenos días,

quería saber como podría obtener el tamaño de archivos de una aplicación... quiero decir... no me refiero a los ficheros... index, registro, password_lost, no a  las páginas sino que a los archivos que están guardados por ejemplo en la base de datos, en imágenes que se subieron y que están alojadas en una carpeta (o en un servidor aparte para alojarlas)...

Algo así...

(uso php)

Código
  1. // digamos que hay 446 usuarios...
  2. "Usuarios registrados: 446"
  3. "Tamaño utilizado: 144kb"
  4. "Tamaño disponible: 4gb"
  5.  

Código
  1. // digamos que hay 26 imágenes subidas...
  2. "Imágenes subidas: 26"
  3. "Tamaño utilizado: 4,18mb"
  4. "Tamaño disponible: 4gb"
  5.  

No se si me estoy dando a entender, espero que sí.

Gracias!


Título: Re: [Pregunta]: Obtener espacio utilizado
Publicado por: Leguim en 15 Agosto 2020, 20:23 pm
¿Será que me pueda servir estas dos funciones de PHP para hacer algo como lo que quiero o similar?

disk_total_space
disk_free_space


Título: Re: [Pregunta]: Obtener espacio utilizado
Publicado por: Drakaris en 16 Agosto 2020, 13:53 pm
¿Será que me pueda servir estas dos funciones de PHP para hacer algo como lo que quiero o similar?

disk_total_space
disk_free_space

Buenas, te explico... Puedes usar dos funciones para calcular el tamaño de un archivo con PHP (el archivo debe de estar almacenado en tu servidor)

La funcion $_FILES te permite obtener el tamaño de un archivo que el cliente ha subido con el <input type="file"> mediante petición POST
Código:
$_FILES['nombre_del_archivo']['size'];

Esta funcion te muestra el tamaño de un archivo especifico en bytes
Código:
filesize($ruta_del_archivo);

El tema de tamaño disponible, es poner una cuota de almacenamiento a cada usuario

disk_total_space && disk_free_space

Te pongo este ejemplo.

Tenemos una carpeta con 10 megas de espacio libre y hay 4 archivos con 1.5 megas cada uno.

Código:
disk_total_space
https://www.php.net/manual/en/function.disk-total-space

Pues disk_total_space te mostrará el espacio total que ocupa los 4 archivos en esa carpeta, la salida es un numero flotante (bytes)

Código:
disk_free_space
https://www.php.net/manual/en/function.disk-free-space

Pues disk_free_space te mostrará el espacio libre que queda en esa carpeta, la salida es un numero flotante (bytes). Es decir, la resta de la quota de la carpeta menos el espacio total que ocupa los archivos y el resultado es el espcio libre que queda.