Foros del Web » Programando para Internet » PHP »

Problemas al forzar descarga de archivos

Estas en el tema de Problemas al forzar descarga de archivos en el foro de PHP en Foros del Web. Hola de nuevo gente del Foro: Ya pa variar otro problema, resulta que estoy haciendo un download de archivos, el codigo que estoy mocupando es ...
  #1 (permalink)  
Antiguo 20/07/2006, 21:39
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 0
Problemas al forzar descarga de archivos

Hola de nuevo gente del Foro:
Ya pa variar otro problema, resulta que estoy haciendo un download de archivos, el codigo que estoy mocupando es el siguiente:
Cita:
<?php

$archivo = $_GET["id"];

$archivos = array("jpeg", "jpg", "gif", "zip", "rar", "doc", "pdf");
if((strpos($aechivo,"/")) != false){
die("Pa donde vai");
}
$tmp= explode(".", $archivo);

//$ext = strtolower($tmp[count($tmp)-1]);
$ext = $tmp[1];
//echo $tmp[1];

if(!in_array($ext,$archivos)){
die("<b>ERROR!</b> no es posible descargar $f");
}

$nombre = basename($archivo);
$temporal = "archivos/". "$archivo";
header ("Content-Disposition: attachment; filename=$nombre\n\n");
header("Content-Type: application/force-download");
@readfile($temporal);
?>
Ya el rpoblema esta que tengo almacenados los archivos a descargar en una carpeta llamada "archivos" y resulta que probe con el siguiente codigo:
Cita:
<html>
<body>
<a href = "baja_archivo.php?id=algo.doc">bajar foto
</a>
</body>
</html>
Ya ok hasta aqui todo bien me descarga los archivos que quiero pero al ejecutar el codigo de arriba(el html) me da la opcion de descargar igual un archivo con el nombre algo.doc, creo que la funcion readfile crea uno si es que el archivo no existe,

Que puedo ocupar en vez de ese readfile para descargar los archivos o para comprobar que el archivo no existe?????
Ojala puedan ayudarme
  #2 (permalink)  
Antiguo 20/07/2006, 21:59
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Hola, con la funcion file_exists puedes comprobar si el archivo existe o no, una vez que sabes que si existe manda sla descarga... sino, die...


Exitos!
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 21/07/2006, 00:00
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 0
Gracias Fridureiks, con file_exists se soluciono el problema dejo el codigo para que vean como de todos modos adios
Cita:
<?php

$archivo = $_GET["id"];

$archivos = array("jpeg", "jpg", "gif", "zip", "rar", "doc", "pdf");
if((strpos($aechivo,"/")) != false){
die("Pa donde vai");
}
$tmp= explode(".", $archivo);

//$ext = strtolower($tmp[count($tmp)-1]);
$ext = $tmp[1];
//echo $tmp[1];

if(!in_array($ext,$archivos)){
die("<b>ERROR!</b> no es posible descargar $archivo");
}

$nombre = basename($archivo);
$temporal = "archivos/". "$archivo";
if(file_exists($temporal)){
header ("Content-Disposition: attachment; filename=$nombre\n\n");
header("Content-Type: application/force-download");
@readfile($temporal);
}
else {
die("<b>ERROR!</b> no es posible descargar $temporal el archivo no existe");
}
?>
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 20:46.