Foros del Web » Programando para Internet » PHP »

Script para descargar files

Estas en el tema de Script para descargar files en el foro de PHP en Foros del Web. Donde puedo escontrar un script en php para que se puedan descargar del servidor que tengo mi pagina files tipo doc o pdf. Gracias PD: ...
  #1 (permalink)  
Antiguo 10/03/2010, 15:26
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 8 meses
Puntos: 0
Script para descargar files

Donde puedo escontrar un script en php para que se puedan descargar del servidor que tengo mi pagina files tipo doc o pdf.
Gracias

PD: El servidor donde tengo mi pagina es un servidor unix
  #2 (permalink)  
Antiguo 10/03/2010, 16:32
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Script para descargar files

¿Te refieres a algún tipo de script prefabricado donde puedas agrupar las descargas? Porque si no es así, simplemente sería hacer un link al archivo a descargar
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 10/03/2010, 16:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Script para descargar files

Me refiero a este codigo que pongo pero no me funciona. Creo que es por que el servidor es Unix y me da la impresion que no admite el readfile.
Pero esto no lo se de cierto.
A ver si puede haber una solucion para que funcione.

Código PHP:
<?php
$ruta 
"files/"//ruta de tu archivo
$nombre="actividades.doc"
header ("Content-Disposition: attachment; filename=$nombre");
header("Content-Type: application/force-download");
readfile($ruta); 
?>
Es porque de esta manera controlo las veces que se descarga un fichero.
Y con el <a href, no puedo controlar las veces que se descarga el archivo.
  #4 (permalink)  
Antiguo 10/03/2010, 17:02
 
Fecha de Ingreso: febrero-2007
Mensajes: 309
Antigüedad: 17 años, 1 mes
Puntos: 16
Respuesta: Script para descargar files

Es un error muy simple, la linea:

readfile($ruta);

esta mal, deberia ser:

readfile($ruta.$nombre);

Saludos!
__________________
Responder encuestas
  #5 (permalink)  
Antiguo 10/03/2010, 17:13
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Script para descargar files

Efectivamente no me habia dado cuenta al poner el hilo.
Me lo he comido el $nombre
readfile($ruta.$nombre); es como dices.
Pero no me funciona
Le debe faltar algo mas.
En el servidor localhost con apache si me funciona pero en el servidor donde esta la pagina con Unix ahi no funciona.
No se si hay que dar algun parametro especifico para los servidores UNIX.
Tampoco funciona en localhost con un mac book pro y apache
Y sin embargo con windows y apache el localhost si que funciona
  #6 (permalink)  
Antiguo 10/03/2010, 18:16
 
Fecha de Ingreso: febrero-2007
Mensajes: 309
Antigüedad: 17 años, 1 mes
Puntos: 16
Respuesta: Script para descargar files

Intenta usar la constante DIRECTORY_SEPARATOR en vez de la barra. Tal vez sea eso.
  #7 (permalink)  
Antiguo 10/03/2010, 22:55
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Script para descargar files

Código PHP:
<?php
// directorio donde se encuentran los ficheros a descargar
$root "files/";
$file "actividades.doc";
$path $root.$file;
if (
is_file($path)) 
{
$size filesize($path); 
// Set Headers
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"$file\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " $size);
// Download File
readfile($path);

else 
{
die(
"Fichero no existe !!");
}
?>
Perdona quebien pero no estoy muy puesto en php y no se utilizar esa constante en este codigo.
He mirado en google y no he encontrado como utilizarlo en este codigo.
Me lo puedes corregir por favor.

Etiquetas: files
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 06:19.