Problema de decarga y tamaño
Publicado por Davidb (1 intervención) el 03/07/2006 19:16:50
Tengo un problema en php genero el archivo y cuando lo bajo solo baja un 70% de su tamaño, por que cuando lo veo en su directorio esta completo
hay algo que hacer en las cabeceras.
$rand = mt_rand(0,99999999);
system ("mkdir /tmp/".$rand);
//funcion que genera N archivos en el directorio "/tmp/".$rand
$command="zip -9 -r /tmp/Consulta_".$rand.".zip /tmp/".$rand; //comprimo todos los archivos
exec($command);
$archivo2 = "Consulta_".$rand.".zip"; //nombre del archivo comprimido
$url2 = "/tmp/Consulta_".$rand.".zip";
$url_copied="/usr/local/apache/files/".$archivo2; //ruta completa del archivo despues de copiarlo
exec("cp ".$url2." /usr/local/apache/files/"); //copia del archivo a una ruta virtual de mi apache
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($archivo2).";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($url_copied));
readfile("$url_copied");
//toda esa es la funcion para generar un archivo y asi descargarlo por explorador...
el gran problema es que al descargar el archivo, el PHP me esta mandando un archivo con limite de peso de 2 Mb, y el archivo que genera es de aproximadamente 5 Mb, por lo que lo trunca... mi pregunta es COMO PUEDO
hay algo que hacer en las cabeceras.
$rand = mt_rand(0,99999999);
system ("mkdir /tmp/".$rand);
//funcion que genera N archivos en el directorio "/tmp/".$rand
$command="zip -9 -r /tmp/Consulta_".$rand.".zip /tmp/".$rand; //comprimo todos los archivos
exec($command);
$archivo2 = "Consulta_".$rand.".zip"; //nombre del archivo comprimido
$url2 = "/tmp/Consulta_".$rand.".zip";
$url_copied="/usr/local/apache/files/".$archivo2; //ruta completa del archivo despues de copiarlo
exec("cp ".$url2." /usr/local/apache/files/"); //copia del archivo a una ruta virtual de mi apache
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($archivo2).";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($url_copied));
readfile("$url_copied");
//toda esa es la funcion para generar un archivo y asi descargarlo por explorador...
el gran problema es que al descargar el archivo, el PHP me esta mandando un archivo con limite de peso de 2 Mb, y el archivo que genera es de aproximadamente 5 Mb, por lo que lo trunca... mi pregunta es COMO PUEDO
Valora esta pregunta


0