[Php-avanzado] Bajar archivos
Mario Gomez Cassou
collectgc en gmail.com
Mie Nov 28 10:48:26 ART 2012
Aca va el código
Saludos
Mario
if(isset($_GET['id'])){
$id = $_GET['id'];
$arch = $ar["$id"];
$arch_url = rawurlencode($arch);
//$arch_url = str_replace(" ","_",$arch);
// "finfo" requiere PHP 5.3+ y en dattatec tienen 5.21 (Nov 2012)
if(function_exists('finfo_open')) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$tipo = finfo_file($finfo,"subidos/".$arch);
finfo_close($finfo);
}else {
// mime_content_type es obsoleto pero mientras tanto...
$tipo = mime_content_type("subidos/".$arch);
}
@header("Cache-Control: ");// leave blank to avoid IE errors
@header("Pragma: ");// leave blank to avoid IE errors
@header("Content-type: $tipo");
@header("Content-Disposition: attachment; filename=$arch_url");
readfile("subidos/$arch");
}
El 28 de noviembre de 2012 10:44, Leonardo Tadei - Pegasus Tech Supply <
leonardot en pegasusnet.com.ar> escribió:
> Mmmm... pasá el código por acá y lo vemos.
>
>
> El mié, 28-11-2012 a las 09:53 -0300, Mario Gomez Cassou escribió:
> > Hola Leo: probé con rawurlencode() que es la func que pasa los
> > espacios a %20 y los nombres quedan como "perro%20y%20gato.pdf".
> > Este problema parece no tener solución
> > Abrazo
> > Mario
> >
> >
> > El 23 de noviembre de 2012 11:21, Leonardo Tadei - Pegasus Tech Supply
> > <leonardot en pegasusnet.com.ar> escribió:
> > Hola Mario,
> >
> > El jue, 22-11-2012 a las 23:58 -0300, Mario Gomez Cassou
> > escribió:
> > > Buena Leo!
> > > con respecto a
> > >
> > >
> > > El 22 de noviembre de 2012 15:22, Leonardo Tadei - Pegasus
> > Tech Supply
> > > <leonardot en pegasusnet.com.ar> escribió:
> > > Hola Mario,
> > >
> > > > 2) si un archivo se llama "gato y perro.pdf" el
> > script me lo
> > > baja como
> > > > "gato.pdf"; como se manejan los nombres con
> > espacios?
> > >
> > >
> > > Codificalo como un URL.
> > >
> > >
> > > Si al nombre de archivo lo paso por urlencode() me
> > queda "gato
> > > +y+perro.pdf". TIENE (manifestación de Fe en PHP
> > 5.2) que
> > > haber una manera que quede con el mismo nombre que
> > el
> > > original.
> > > Y en cuanto a
> >
> >
> > Es que en un URL, por el protocolo HTTP, el espacio se
> > codifica como un
> > +, pero el navegador al recibirlo lo decodifica y vuelve a
> > poner el
> > espacio.
> >
> >
> > > A propósito, estás enviando mal la
> > codificación de los
> > > archivos PHP.
> > >
> > > te referís a como se bajan los archivos PHP del sitio? los
> > ve de tipo
> > > "HTML": los guarda bien pero si los querés abrir
> > directamente mi SO se
> > > lo manda al navegador y este al editor de texto, así que por
> > ese lado
> > > no hay problema.
> >
> >
> > Sí, me refiero a eso, y deberías codificarlo como
> > "código fuente PHP"
> > para que se corresponda con el archivo...
> >
> > > La versión original tenía un comportamiento mas interesante:
> > lo
> > > ejecutaba! y encima me di cuenta como dos años después. Por
> > lo menos
> > > era mi sitio y no de un cliente porque me comía una piña
> >
> >
> > Me acuerdo!
> > También zafaste de la piña porque esto no fue tu tesis
> > del curso ;-)
> >
> > > Saludos
> >
> > =mente!
> >
> > --
> > Leonardo Tadei
> > leonardot en pegasusnet.com.ar
> > Web: http://leonardo.tadei.com.ar
> > Firma pública:
> > http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >
> >
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
> --
>
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Pegasus Tech Supply
> Tel: (+54)(+223) 471-2880
> La Salle 1131 - Mar del Plata - Argentina
> http://www.pegasusnet.com.ar
> http://www.grupopegasus.com
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20121128/a8f2389a/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado