Foros del Web » Programando para Internet » PHP »

download.php problema con la extencion del archivo

Estas en el tema de download.php problema con la extencion del archivo en el foro de PHP en Foros del Web. Estimados Cuando realizo el download de un archivo con firefox no me coloca la extencion del mismo. es un problema del php? Si funciona en ...
  #1 (permalink)  
Antiguo 09/02/2010, 19:29
Avatar de rec321  
Fecha de Ingreso: mayo-2005
Ubicación: Argentina
Mensajes: 91
Antigüedad: 19 años, 6 meses
Puntos: 1
download.php problema con la extencion del archivo

Estimados

Cuando realizo el download de un archivo con firefox no me coloca la extencion del mismo. es un problema del php?
Si funciona en IE.

Código PHP:
$Download "documentos/1265704621_PRUEBA 2.doc";
if (
$Download){
  if (
file_exists($Download)){
      
$download_size filesize($Download);
      
$filename basename($Download);
      
header("Content-Type: application/octet-stream");
      
header("Content-Disposition: attachment; filename=$filename");
      
header("Accept-Ranges: bytes");
      
header("Content-Length: $download_size");
      @
readfile($Download);
      die;
  }else{
      
$Mensaje "No se ha encontrado el archivo solicitado!!!";
  };

  #2 (permalink)  
Antiguo 09/02/2010, 20:23
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 10 meses
Puntos: 27
Respuesta: download.php problema con la extencion del archivo

Probe tu codigo y funciona..
Trate de duplicar el error.. y tambien lo logre..

Conclusion: no colocar "espacios", es eso el error que provoca...

Posible Solucion: Crear una copia del mismo archivo pero con un "-" como separador

Código PHP:
<?php
$Download 
"documentos/1265704621_PRUEBA 2.doc";
//Cambiamos el Espacio por "-" guion medio
$filename str_replace(" ""-"$Download);
//Copiamos en el mismo directorio pero con el nuevo nombre
copy($Download$filename);
//Igualamos la variable por el nuevo archivo para que continue su curso como estaba
$Download $filename;
if (
$Download){
  if (
file_exists($Download)){
    
$download_size filesize($Download);
    
$filename basename($Download);
    
header("Content-Type: application/octet-stream");
    
header("Content-Disposition: attachment; filename=$filename");
    
header("Accept-Ranges: bytes");
    
header("Content-Length: $download_size");
    
readfile($Download);
    die;
  }else{
      
$Mensaje "No se ha encontrado el archivo solicitado!!!";
  }; 
}  
?>
Es de probar..

salu2
  #3 (permalink)  
Antiguo 09/02/2010, 21:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: download.php problema con la extencion del archivo

de hecho, deberías usar comillas dobles para conservar todo correctamente...

Cita:
Content-Disposition: attachment; filename="nombre con espacios"
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 09/02/2010, 22:48
Avatar de rec321  
Fecha de Ingreso: mayo-2005
Ubicación: Argentina
Mensajes: 91
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: download.php problema con la extencion del archivo

Gracias, esto ha solucionado mi problema.
El archivo ya lo modifico al realizar el upload directamente y va excelente.

Atte.
Raul


Cita:
Iniciado por vicram10 Ver Mensaje
Probe tu codigo y funciona..
Trate de duplicar el error.. y tambien lo logre..

Conclusion: no colocar "espacios", es eso el error que provoca...

Posible Solucion: Crear una copia del mismo archivo pero con un "-" como separador

Código PHP:
<?php
$Download 
"documentos/1265704621_PRUEBA 2.doc";
//Cambiamos el Espacio por "-" guion medio
$filename str_replace(" ""-"$Download);
//Copiamos en el mismo directorio pero con el nuevo nombre
copy($Download$filename);
//Igualamos la variable por el nuevo archivo para que continue su curso como estaba
$Download $filename;
if (
$Download){
  if (
file_exists($Download)){
    
$download_size filesize($Download);
    
$filename basename($Download);
    
header("Content-Type: application/octet-stream");
    
header("Content-Disposition: attachment; filename=$filename");
    
header("Accept-Ranges: bytes");
    
header("Content-Length: $download_size");
    
readfile($Download);
    die;
  }else{
      
$Mensaje "No se ha encontrado el archivo solicitado!!!";
  }; 
}  
?>
Es de probar..

salu2
  #5 (permalink)  
Antiguo 10/02/2010, 07:37
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 10 meses
Puntos: 27
Respuesta: download.php problema con la extencion del archivo

De nada para eso estamos..

Pero lo que dice pateketrueke tambien es valido (y seria lo mas facil de hacer)

Debes probar como te comenta él, y asi estara mas optimizado tu codigo sin sufrir cambios.. y es el mejor resultado.. aunque da lo mismo.. pero es mejor..

salu2

Etiquetas: extension
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:47.