Foros del Web » Programando para Internet » PHP »

Descarga de archivos

Estas en el tema de Descarga de archivos en el foro de PHP en Foros del Web. Hice un codigo para que el usuario suba un archivo al servidor, dando permisos a una carpeta, pero ahora quiero hacer un codigo para que ...
  #1 (permalink)  
Antiguo 13/04/2004, 10:02
 
Fecha de Ingreso: febrero-2004
Mensajes: 24
Antigüedad: 13 años, 10 meses
Puntos: 0
Descarga de archivos (1)

Hice un codigo para que el usuario suba un archivo al servidor, dando permisos a una carpeta, pero ahora quiero hacer un codigo para que el usuario descargue ese mismo archivo u otro que alla subido teniendo la opcion de escoger el archivo a descargar y que luego me aparezca una ventana dandome a elegir la carpeta de mi disco como usuario donde guardarlo....

Tengo el sgte codigo, que no me tira error pero al parecer no hace nada: (al final esta el formulario de envio)

<HTML>
<BODY>
<?PHP
if ($enviar) {
if ($archivo != "none" AND $archivo_size != 0){
echo "Nombre: $archivo_name <BR>\n";
echo "Tamaño: $archivo_size <BR>\n";
echo "Tipo: $archivo_type <BR>\n";
/* para Windows
if (! copy ($archivo, "C:\\TEMP\\".$archivo_name)) {
echo "<h2>No se ha podido copiar el archivo</h2>\n";
}
*/
/* para Linux/Unix */
if (! copy ($archivo, "/tmp/".$archivo_name)) {
echo "<h2>No se ha podido copiar el archivo</h2>\n";
}

} elseif ($archivo != "none" AND $archivo_size == 0) {
echo "<h2>Tamaño de archivo superado</h2>\n";
} else
{
echo "<h2>No ha escogido un archivo para descargar</h2>\n";
}
echo "<HR>\n";
}
?>


<FORM ENCTYPE="multipart/form-data" ACTION="<?php echo $PHP_SELF ?>" METHOD="post">
<INPUT type="hidden" name="MAX_FILE_SIZE" value="100000">
<p><b>Archivo a descargar<b><br>
<INPUT type="file" name="archivo" size="35"></p>
<p><INPUT type="submit" name="enviar" value="Aceptar"></p>
</FORM>
</BODY>
</HTML>


....Si alguien tiene algo porfavor mandemelo!!
Muchas Gracias !

Eddo
  #2 (permalink)  
Antiguo 13/04/2004, 10:14
 
Fecha de Ingreso: febrero-2004
Mensajes: 24
Antigüedad: 13 años, 10 meses
Puntos: 0
descargar archivo (2)

Tengo otra duda, si yo quiero hacer una pagina que de la opcion de descargar un archivo, puedo hacerlo mediante un simple "Link" a este archivo, esta claro. Pero como puedo hacer que al presionar ese Link aparezca la tipica ventana "Guardar este archivo a disco, o abrirlo"...

Muchas gracias nuevamente!

saludos


Eddo
  #3 (permalink)  
Antiguo 13/04/2004, 10:23
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
No estoy seguro pero

No estoy seguro pero creo que eso se hace con las cabeceras de página o headers. Busca en el Forum que hay muchos POST sobre esto.

Salu2
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 13/04/2004, 12:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para descargar un archivo de tu servidor .. en principio sólo debes proporcionar a tus usuarios la ruta del archivo:

http://www.nose.tal/archivos/nose.zip

Para eso .. tendras que leer tu directorio donde tengas tus archivos por lo menos para poder generar un link de ese tipo por archivo .. Para ello puedes usar el objeto predefinido: dir() de PHP

www.php.net/dir

Una vez que tengas "linkeado" el archivo si haces "click" sobre el archivo .. depende del formato MIME que sea el archivo se mostrará en el navegador o se te ofrecerá a descargar .. Para "forzar" a que se descargue el archivo (sea cual sea su formato MIME) debes enviar desde PHP ciertas cabeceras HTTP que le indicaran al navegador (cliente) que los datos que se le van a enviar serán para que los descargue.

Esas cabeceras HTTP se lanzan desde PHP vía la función header() y son del protocolo HTTP: tipo content-type .. y similares (en el foro tienes ejemplos . busca por ese termino).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 13/04/2004, 12:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si tienes observaciones sobre un tema que ya has iniciado .. continua en el mismo ..

Procedo a unir ambos temas ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 13/04/2004, 13:01
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
lo mas sencillo esq guardes el nombre del fichero en la base de datos... asi despues, realizas un query y muestras los resultados..., le haces un Link y listo para descargar... mas facil imposible... xddd
__________________
3w.valenciadjs.com
3w.laislatv.com
  #7 (permalink)  
Antiguo 24/06/2004, 19:57
 
Fecha de Ingreso: septiembre-2003
Mensajes: 5
Antigüedad: 14 años, 3 meses
Puntos: 0
buscando algo parecido al problema planteado, encontré este enlace que intentaré probar. espero sea de ayuda.
http://www.fatscripts.com/PHP/File_M...tion/index.php
http://www.olate.com/articles/print.php?id=64

Última edición por pdaniel; 24/06/2004 a las 20:20 Razón: agregar enlace
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:22.