Descargar archivos grandes desde apache

vincen

Estoy intentado descargar archivos de 4 a 20gb y me esta surgiendo el problema que la descarga no se completa.

apache no esta diseñado para descargar archivos grandes.. pero necesito que sea mediante apache por comodidad.

He probado 2 codigos y en ambos no se completa la descarga

$fp = fopen($file, 'rb');
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($file));
header('Expires: 0');
header("Content-Disposition: attachment; filename=$nombre.$extension");
fpassthru($fp);
exit;
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header("Content-Type: application/download");
    header("Content-Disposition: attachment; filename=$nombre.$extension");
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}

de un archivo de 4,57GB se han bajado 4,2GB

Existe alguna alternativa que no sea ftp? y que sea comodo para el usuario?

E

#1 si yo me he descargado con apache ficheros de 100 gigas y más y sin problemas... No fallará tu servidor o internet?

willy_chaos

Quiza el problema lo tienes en el tiempo de ejecucion de ese script php. Apache por defecto tiene un timeout para los scripts. Si haces la descarga directa (sin scripts php ni nada, simplemente la url directa al archivo), no tendras problema

1 respuesta
vincen

#3 Vale, tiene que ser eso del tiempo de ejecución, se me había pasado, voy a probar a aumentarle el tiempo a ese script.

No puedo descargar directamente, son archivos que están alojados en carpetas locales del servidor, no están en la web.

Edit:

Solved.

ini_set('max_execution_time', 0); 
Zerokkk

Y digo yo, ¿por qué no te montas un servicio FTP en ese mismo servidor? Yo creo que para archivos grandes es bastante más cómodo.

1 respuesta
vincen

#5 Ya tiene FTP, pero no es lo que buscaba.

De todas maneras ya esta funcionando con apache :)

E

Ese tiempo de ejecución a infinito no se si te va a dar problemas...

Usuarios habituales

  • elraro
  • vincen
  • Zerokkk
  • willy_chaos