descargar un archivo zip, del servidor

126 views
Skip to first unread message

rockobop

unread,
Dec 8, 2008, 10:26:31 AM12/8/08
to symfony-es
hola a todos

tengo un problema a la hora de descargar un archivo zip en la vista
tengo el siguiente codigo q me imprime un boton q me manda la accion
download con los parametros q necesito para la descarga $ruta y
$nombreArchivo

y en la accion tengo el codigo para la descarga supuestamente, pero me
descarga un archivo con ese nombre, pero corrupto y con una tamaño de
109KB q nada q ver con los 7Kb q pesa mi archivo

codigo del template

<?php echo form_tag('modulo/download','method=post enctype=multipart/
form-data');
echo input_hidden_tag('nombreArchivo',$nombreArchivo);
echo input_hidden_tag('ruta',$rutaDescarga);
echo submit_tag($descargarArchivp,"class='buttonToLink'");
echo end_form(); ?>

codigo del action
public function executeDownload(){

$path = $this->getRequestParameter('ruta');
$filename = $this->getRequestParameter('nombreArchivo');

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.
$filename);
header('Content-Transfer-Encoding: binary');
readfile($path);
}

KNO

unread,
Dec 8, 2008, 1:03:22 PM12/8/08
to symfo...@googlegroups.com
Prueba a ver qué tiene el archivo. A mi me pasaba que me soltaba una
página de error de symfony pero con extensión zip.

kNo

rockobop

unread,
Dec 8, 2008, 4:39:30 PM12/8/08
to symfony-es
el archivo es un zip q contiene un par de documentos zip

creo q encontre mi problema, es que yo le estoy dando una ruta
estatica por q es un zip, que creo con varios archivos, dependiendo
del usuario q ingrese

el problema es q como es una ruta estatica al parecer symfony no carga
el archivo

como puedo hacer para q cargue symfony esa ruta estatica ??????

On 8 dic, 14:03, KNO <lin...@gmail.com> wrote:
> Prueba a ver qué tiene el archivo. A mi me pasaba que me soltaba una
> página de error de symfony pero con extensión zip.
>
> kNo
>

rockobop

unread,
Dec 8, 2008, 5:33:21 PM12/8/08
to symfony-es
creo q encontre la solucion

estoy tratando de hacer esto

$FileName = 'TDR.doc';
$path = sfConfig::get('sf_upload_dir').'\TDR.doc';

echo $path;
header ("Content-Disposition: attachment; filename=".$FileName."\n
\n");
header ("Content-Type: application/octet-stream");
@readfile($path);

peroooo, me descarga un archivo sin formato reconocido, cuando quiero
abrir el archivo supuestamente me recupera completamente el archivo
pero no correcto me pide q escoja la codificacion correcta

como lo soluciono ???

saludos

KNO

unread,
Dec 9, 2008, 2:43:00 AM12/9/08
to symfo...@googlegroups.com
Supongo que lo que has mandado es una prueba porque el echo $path te
descojona todo (no puedes hacer los header de después)

kNo

rockobop

unread,
Dec 9, 2008, 9:33:26 AM12/9/08
to symfony-es
si el echo solo se me fue para hacer la prueba.

pensado que corregi mi problema me quede tranquilo, pero puedo
descargar todo menos archivos zip
ya intente con :

Content-Type: application/zip
tambien con
Content-Type: application/octet-stream
pero no me funciona

q puede ser ????


saludos
On 9 dic, 03:43, KNO <lin...@gmail.com> wrote:
> Supongo que lo que has mandado es una prueba porque el echo $path te
> descojona todo (no puedes hacer los header de después)
>
> kNo
>

KNO

unread,
Dec 9, 2008, 9:45:15 AM12/9/08
to symfo...@googlegroups.com
¿El encabezado llega bien al navegador? ¿Te pasa con iexplorer y con FF?

kNo

rockobop

unread,
Dec 9, 2008, 10:29:26 AM12/9/08
to symfony-es
en teoria llega bien al navegador

estoy probando de manera estatica de la siguiente forma y funciona con
un archivo rar q dentro tiene un doc

$nombreArchivo = 'portatil.rar';
$zipfile = sfConfig::get('sf_upload_dir').'\tmp\portatil.rar';

header("Content-Disposition: attachment; filename=".
$nombreArchivo."\n");
header("Content-Type: application/octet-stream");
@readfile($zipfile);

el mismo doc dentro de un zip no funciona, q puedo hacer ????????

saludos

On 9 dic, 10:45, KNO <lin...@gmail.com> wrote:
> ¿El encabezado llega bien al navegador? ¿Te pasa con iexplorer y con FF?
>
> kNo
>

KNO

unread,
Dec 9, 2008, 10:30:47 AM12/9/08
to symfo...@googlegroups.com
Comprueba la cabecera con, por ejemplo curl -I

kNo

rockobop

unread,
Dec 9, 2008, 10:42:43 AM12/9/08
to symfony-es
ahora si me agarraste, como uso o compruebo lo q menciona

saludos

On 9 dic, 11:30, KNO <lin...@gmail.com> wrote:
> Comprueba la cabecera con, por ejemplo curl -I
>
> kNo
>

KNO

unread,
Dec 9, 2008, 11:13:17 AM12/9/08
to symfo...@googlegroups.com
Si tienes un entorno unix haz un
curl -I http://servidor/loquesea
Vamos, la url de la petición que se hace, y con curl puedes ver las
cabeceras (creo que era -I pero si no, para eso está el man)

kNo

rockobop

unread,
Dec 9, 2008, 11:23:04 AM12/9/08
to symfony-es
me imprime lo siguiente:

HTTP/1.1 403 Forbidden
Date: Tue, 09 Dec 2008 16:20:18 GMT
Server: Apache/2.2.3 (CentOS)
Accept-Ranges: bytes
Content-Length: 5043
Connection: close
Content-Type: text/html; charset=ISO-8859-1

si imprimo la ruta completa hasta mi accion me da lo siguiente

HTTP/1.1 200 OK
Date: Tue, 09 Dec 2008 16:22:04 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.1.6
Set-Cookie: symfony=qr2fgs5484adbhooviu7cf7ik1; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-
check=0
Pragma: no-cache
Connection: close
Content-Type: text/html; charset=ISO-8859-1


saludos


On 9 dic, 12:13, KNO <lin...@gmail.com> wrote:
> Si tienes un entorno unix haz un
> curl -Ihttp://servidor/loquesea
> Vamos, la url de la petición que se hace, y con curl puedes ver las
> cabeceras (creo que era -I pero si no, para eso está el man)
>
> kNo
>

KNO

unread,
Dec 9, 2008, 11:35:41 AM12/9/08
to symfo...@googlegroups.com
¿Es la ruta completa hasta la acción que debería devolverte el archivo?
Por que parece que tienes un echo "saludos" en algún sitio.

kNo

El día 9 de diciembre de 2008 17:23, rockobop <rock...@gmail.com> escribió:
>

rockobop

unread,
Dec 9, 2008, 12:56:24 PM12/9/08
to symfony-es
no el saludos de la ultima linea lo escribi yo como siempre al final
de casi todos mis post's ;)

mira lo raro es q mi fui a mi casa a probar este codigo y funnciona de
maravillas, nose como podria corregir el error

$FileName = 'Respaldo09-12-2008~13_48_07.zip';
$path = sfConfig::get('sf_upload_dir').'\tmp
\Respaldo09-12-2008~13_48_07.zip';

header ("Content-Disposition: attachment; filename=".$FileName."\n");
header ("Content-Type: application/octet-stream");
@readfile($path);

es el mismo codigo, el problema tendria q estar en el servidor quizas,
aunque tengo en teoria la misma configuracion en ambos equipos, de
manera local bajo windows y en el servidor oficial es linux/CentOS,
pero en el servidor tampoco funciona

q puede ser ??????

saludos ;)

On 9 dic, 12:35, KNO <lin...@gmail.com> wrote:
> ¿Es la ruta completa hasta la acción que debería devolverte el archivo?
> Por que parece que tienes un echo "saludos" en algún sitio.
>
> kNo
>

rockobop

unread,
Dec 10, 2008, 5:47:31 AM12/10/08
to symfony-es
alguna sugerencia ??????

saludos
> > >> >> >> >> >> > > }- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -
Reply all
Reply to author
Forward
0 new messages