Foros del Web » Programando para Internet » PHP »

Descarga forzada de archivos desde servidor.

Estas en el tema de Descarga forzada de archivos desde servidor. en el foro de PHP en Foros del Web. Bueno, pues tenia un script de descarga que creia que me iba bien porque descargaba los ficheros, pero ahora me ha dado por abrirlos y ...
  #1 (permalink)  
Antiguo 19/12/2006, 17:16
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Descarga forzada de archivos desde servidor.

Bueno, pues tenia un script de descarga que creia que me iba bien porque descargaba los ficheros, pero ahora me ha dado por abrirlos y no van.

El script recibe el nombre del fichero como parametro:

Código PHP:

$carpeta
="./schemes/";

if(
file_exists($carpeta.basename($_GET['file'])))
{

   
$ruta $_GET["file"];            
   
$file=$carpeta.$_GET["file"];


   
header("Content-Transfer-Encoding: binary");  
   
header("Content-type: text/scriptlet");  
   
header("Content-Disposition: attachment; filename=".basename($file));  
   
header("Content-Length: ".filesize($file));    
   
readfile($file);

El archivo se descarga correctamente, pero luego parece estar mal por que no puedo usarlo. Me pasa lo mismo con las imagenes, se me bajan bien pero no se visualizan.

Donde puede estar el error?

Gracias.
  #2 (permalink)  
Antiguo 20/12/2006, 11:17
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Descarga forzada de archivos desde servidor.

Alguien ve donde puede estar el fallo? :S supongo que será algun header que hace que el archivo este bien, pero no he conseguido arreglarlo.
  #3 (permalink)  
Antiguo 20/12/2006, 11:53
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 9 meses
Puntos: 5
Re: Descarga forzada de archivos desde servidor.

mmm
prueba esto
Código PHP:
$carpeta="./schemes/"

if(
file_exists($carpeta.basename($_GET['file']))) 


   
$ruta $_GET["file"];             
   
$file=$carpeta.$_GET["file"]; 


   
header("Content-Transfer-Encoding: binary");   
   
header("Content-type: text/scriptlet");   
   
header("Content-Disposition: attachment; filename=".basename($file));   
   
header("Content-Length: ".filesize($file));     
   
readfile($file); 
   exit();

OJO le puse un exit para que no se siga ejecutando el codigo
  #4 (permalink)  
Antiguo 20/12/2006, 12:00
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 9 meses
Puntos: 5
Re: Descarga forzada de archivos desde servidor.

o prueba con de esta otra manera
Código PHP:
$carpeta="./schemes/";  
if(
file_exists($carpeta.basename($_GET['file'])))  
{  
    
$ruta $_GET["file"];              
    
$file=$carpeta.$_GET["file"];  
    
header ("Content-Disposition: attachment; filename=".$nombre_del_archivo."\n\n");  
    
header ("Content-Type: application/octet-stream");  
    
header ("Content-Length: ".filesize($file));  
    
readfile($file);  
    exit;

  #5 (permalink)  
Antiguo 20/12/2006, 13:54
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Descarga forzada de archivos desde servidor.

Tampoco, he probado las dos opciones y no funcionan, no consigo abrir el archivo correctamente :S aunque se sigue descargando igual, pero claro no sirve.
  #6 (permalink)  
Antiguo 22/12/2006, 07:35
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Descarga forzada de archivos desde servidor.

Alguien ve algun fallo en el script?
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 23:00.