FAQ
Saludos a todos .


Quisiera bajar un archivo xls del servidor y guardarlo en una ruta
especifica .....
Tengo el sgte. código que me guarda el archivo en una ruta pero sin
contenido ..... Por favor que le falta a mi código ????

heFile = basename($ElFichero);

header( "Content-Type: application/octet-stream");
header( "Content-Length: ".filesize($ElFichero));
header ("Content-Disposition: attachment; filename=".$TheFile."\n\n");
header ("Content-Disposition: attachment; filename=".$TheFile."\n\n");
header ("Connection: close");

}

Descargar("c:\aa\ejemplo.xls");


Muchas Gracias

_________________________________________________________________
¿Estás buscando un auto nuevo? http://www.yupimsn.com/autos/

Search Discussions

  • Maxi at Aug 12, 2003 at 5:07 pm
    si incluyo una instruccion header para redireccionar a otra pagina, pero la
    incluyo dentro de un if, de forma tal que despues del header hay todavia

    }
    ?>

    no me anda el comando; no hace nada.

    puede ser por eso que esta dentro del if o no tiene nada que ver? y si no
    tiene nada que ver, que puede ser?

    gracias

    maxi
  • Pablo E. Siciliano at Aug 12, 2003 at 5:20 pm
    No tendría por que tener nada que ver. Probá dos cosas:

    1) Ponele un exit() justo después, o cambiá la lógica de tu página para que
    nada se ejecute después. Cuando hacés header("Location: loquesea.com"); el
    server envia el header y continua ejecutando tu script.

    2) Aumentá el reporte de errores, y fijate si no esta enviandote alguno.
    Puede ser que estes enviando al browser algo antes, y eso no te permita
    enviar un header.

    ----- Original Message -----
    From: "Maxi" <yo@maximilianoyedid.com>
    To: <lista@phpes.com>
    Sent: Tuesday, August 12, 2003 7:10 AM
    Subject: [PHP-ES] header

    si incluyo una instruccion header para redireccionar a otra pagina, pero la
    incluyo dentro de un if, de forma tal que despues del header hay todavia

    }
    ?>

    no me anda el comando; no hace nada.

    puede ser por eso que esta dentro del if o no tiene nada que ver? y si no
    tiene nada que ver, que puede ser?

    gracias

    maxi



    ---------------------------------------------------------------------
    Archivo On-line: http://www.phpes.com/
    via news: news://news.phpes.com/
    Manual PHP en español: http://www.php.net/manual/es/
    Para dar de baja la suscripción, mande un mensaje a:
    lista-unsubscribe@phpes.com

    ---
    Outgoing mail is certified Virus Free.
    Checked by AVG anti-virus system (http://www.grisoft.com).
    Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/03
  • Maxi at Aug 12, 2003 at 9:11 pm
    una preg.

    en cada pagina php tengo que volver a establecer la conexion con la base de
    datos?

    y siempre al final del script tengo que cerrar esa conexion?

    gracias

    maxi
  • Àngel Fenoy at Aug 12, 2003 at 10:53 pm

    Dimarts 12 Agost 2003 16:11, Maxi dixit:

    una preg.

    en cada pagina php tengo que volver a establecer la conexion con la base de
    datos? Sí.
    y siempre al final del script tengo que cerrar esa conexion?
    No es necesario, las conexiones se cierran solas al terminar la ejecución del
    programa PHP.

    Saludos
    Àngel
  • Julio Herrera at Aug 12, 2003 at 11:08 pm
    Angel estas vivo, pense que te habias ido al otro mundo. Parece que
    estamos ganado mucha Guita-Dinero-Plata-Cullin-Mangos

    Saludos

    Julio


    -----Mensaje original-----
    De: Àngel Fenoy
    Enviado el: Martes, 12 de Agosto de 2003 18:57
    Para: lista@phpes.com
    Asunto: Re: [PHP-ES] conexiones


    Dimarts 12 Agost 2003 16:11, Maxi dixit:
    una preg.

    en cada pagina php tengo que volver a establecer la conexion con la
    base de datos? Sí.
    y siempre al final del script tengo que cerrar esa conexion?
    No es necesario, las conexiones se cierran solas al terminar la
    ejecución del
    programa PHP.

    Saludos
    Àngel

    ---------------------------------------------------------------------
    Archivo On-line: http://www.phpes.com/
    via news: news://news.phpes.com/
    Manual PHP en español: http://www.php.net/manual/es/
    Para dar de baja la suscripción, mande un mensaje a:
    lista-unsubscribe@phpes.com
  • Jabi at Aug 12, 2003 at 9:50 pm
    Al enviar un header location el script no debe haber enviado nada
    anteriormente.
    Incluso el hecho de iniciar un sesion, envia unas cabeceras al navegador,
    por lo que si luego lanzamos el header location, nos devuelve un error.
    existe un truquillo para que no de error al lanzar un header
    se trata basicamente en capturar todo lo que "escupa" el script antes de la
    posibilidad de lanzar el header("Location: blablabla");
    php tiene unas funciones para esto...
    <?
    ob_start(); # esta funcion guardara en una cache todo lo que genere el
    script a partir de este momento

    ......
    #aqui iria todo lo que quisieramos
    echo "Hola que tal";
    ?> incluso <b>html</b>, tampoco lo mostraria<?


    # Ahora tenemos dos maneras de hacerlo

    ############################################################################
    ###
    $contenido = ob_get_contents(); # ahora todo el contenido de la cache
    pasaria a la variable $contenido (si la queremos mostrar luego)
    ob_end_clean(); # Y con esta instruccion dejaria de cachear

    ############################################################################
    ####
    ob_end_flush(); #dejaria de cachear y mostraria por pantalla todo el
    buffer
    ?>

    Bueno espero que sirva de algo... tener en cuenta que todo el php que se
    ejecuta entre le ob_start() y el ob_end_flush() o ob_end_clean(); Se ejecuta
    normalmente, es decir si existe un exit la ejecucion se para antes de llegar
    al ob_end_flush()/clean(). Pero por defecto el ob_end_flush() viene activado
    con la terminacion de un script por lo que sacara por pantalla todo lo
    generado si es que se da el caso de que exista un exit.

    Voy a poner otro ejemplo que creo que todavia puede que no este claro

    <?
    echo "hola";
    if ($a==$b) {
    header ("Location: http://www.google.com");
    }
    ?>
    Si se da el caso de que $a y $b son iguales, el script nos devuelve un error
    tipo Warning: Cannot add header information - headers already sent by ...
    Si no, simplemente devuelve hola
    <?
    ob_start();
    echo "hola";
    if ($a==$b) {
    header ("Location: http://www.google.com");
    }
    ob_end_flush();
    ?>
    Ahora si $a y $b son iguales va a google, si son diferentes pues muestra
    hola

    Bueno pido disculpas por haberme extendido tanto, pero yo al menos cuando
    descubri estas funciones me parecieron muy interesantes y como habran visto
    no me explico muy bien. de todas maneras, como siempre mas info en
    http://es.php.net/manual/es/function.ob-start.php
    Saludos

    Jabi
    jabi@irontec.com
  • Eduardo Daniel Pizzi at Aug 12, 2003 at 11:48 pm
    Hola Jabi!.

    Muy buneo!.
    La respuesta en mostrar la/s paginas en el browser que tal es?. Igual?. Un
    poco mas lento...?
    Gracias por compartirlo!.
    ...
    Voy a poner otro ejemplo que creo que todavia puede que no este claro
    ...
    <?
    ob_start();
    echo "hola";
    if ($a==$b) { header ("Location: http://www.google.com"); }
    ob_end_flush();
    ?>
    Ahora si $a y $b son iguales va a google, si son diferentes pues
    muestra hola
    ...
    Jabi
    jabi@irontec.com



    -=<< Eduardo Daniel Pizzi >>=-

    Postal: Parque Leloir - Castelar - Bs.As. - Argentina.
    Mail: sistemas@DesarrollosInteractivos.com -
    http://www.DesarrollosInteractivos.com
  • Pablo E. Siciliano at Aug 12, 2003 at 5:15 pm
    Cesar:

    Ya te contestamos en el hilo anterior!! (Uno que decía descargador)
    Y aunque así no fuera, es una falta seria de etiqueta copiar exactamente lo
    mismo con otro asunto.


    Basicamente te falta :

    $fp = fopen($nombre_fich,"rb");
    print fread($fp,filesize($nombre_fich));

    Como te decía en mi mail anterior, primero deberías validar $nombre_fich.

    Saludos.
    ----- Original Message -----
    From: "cesar nuñez" <cesar_nk@hotmail.com>
    To: <lista@phpes.com>
    Sent: Tuesday, August 12, 2003 1:35 PM
    Subject: [PHP-ES] DESCARGAR ARCHIVO

    Saludos a todos .


    Quisiera bajar un archivo xls del servidor y guardarlo en una ruta
    especifica .....
    Tengo el sgte. código que me guarda el archivo en una ruta pero sin
    contenido ..... Por favor que le falta a mi código ????

    heFile = basename($ElFichero);

    header( "Content-Type: application/octet-stream");
    header( "Content-Length: ".filesize($ElFichero));
    header ("Content-Disposition: attachment; filename=".$TheFile."\n\n");
    header ("Content-Disposition: attachment; filename=".$TheFile."\n\n");
    header ("Connection: close");

    }

    Descargar("c:\aa\ejemplo.xls");


    Muchas Gracias

    _________________________________________________________________
    ¿Estás buscando un auto nuevo? http://www.yupimsn.com/autos/


    ---------------------------------------------------------------------
    Archivo On-line: http://www.phpes.com/
    via news: news://news.phpes.com/
    Manual PHP en español: http://www.php.net/manual/es/
    Para dar de baja la suscripción, mande un mensaje a:
    lista-unsubscribe@phpes.com

    ---
    Outgoing mail is certified Virus Free.
    Checked by AVG anti-virus system (http://www.grisoft.com).
    Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/03
  • Tonipe81 at Aug 13, 2003 at 11:49 am
    Existe un buen artículo en Zend.com
    http://www.zend.com/zend/art/buffering.php

    que trata este tema. Habla de las funciones ob_... etc y da ejemplos y
    explicaciones. El uso de estas funciones si no recuerdo mal sí que
    ralentiza un poco la ejecución de las páginas. ;)

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedAug 12, '03 at 4:32p
activeAug 13, '03 at 11:49a
posts10
users8
websitephp.net

People

Translate

site design / logo © 2022 Grokbase