Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2008, 08:07
Avatar de Monimo
Monimo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 17 años, 3 meses
Puntos: 69
Desacuerdo Download de archivos con php

Hola que tal hice un link en mi pagina, donde se muestran imagenes, para poder bajar archivos por ejemplo:

Código PHP:
$sql "select archivo_adjunto, ext from downloades where id=".$_SESSION['id_detalle']; 
            
$result mysql_query($sql) or die('Bad query at 12!'.mysql_error()); 
            while(
$row mysql_fetch_array($result))
            {
                
$ruta $row['archivo_adjunto'];
                
$ext $row['ext'];


            }
            
            if(
$ext==".jpg"||$ext==".gif" )
            {

echo 
"<img src=".$ruta.">"
echo 
"<a href=\"download.php?var=".$ruta."\">Descargar</a>";
// Header("Location: ".$ruta."");

            
}
            else 
            {
                if(
$ext==".pdf"||$ext==".doc")
                {
                echo 
"<IFRAME src=".$ruta." width=\"1000\" height=\"500\" scrolling=\"auto\" frameborder=\"1\"/>";
                }
            } 

y en l apag de download.php tengo esto:

Código PHP:
<?


$files 
=$_GET['var']; 
echo 
$files;
echo 
dl_file($files);

function 
dl_file($file){


    if (!
is_file($file)) { die("<b>404 File not found!</b>"); }


    
$len filesize($file);
    
$filename basename($file);
    
$file_extension strtolower(substr(strrchr($filename,"."),1));


    switch( 
$file_extension ) {
          case 
"pdf"$ctype="application/pdf"; break;


      case 
"doc"$ctype="application/msword"; break;


      case 
"gif"$ctype="image/gif"; break;
      case 
"png"$ctype="image/png"; break;
      case 
"jpeg":$ctype="image/jpg"; break;
      case 
"jpg"$ctype="image/jpg"; break;

   
      default: 
$ctype="application/force-download";
    }

       
header("Pragma: public");
    
header("Expires: 0");
    
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    
header("Cache-Control: public"); 
    
header("Content-Description: File Transfer");
    
       
header("Content-Type: $ctype");

       
$header="Content-Disposition: attachment; filename=".$filename.";";
    
header($header );
    
header("Content-Transfer-Encoding: binary");
    
header("Content-Length: ".$len);
    @
readfile($file);
    exit;
}



?>

el problema esuqe alguardar las imagenes en el escritrio no se pueden leer!! me dice type not especified. De nada me sirve que se puedan descarar si después no s epueden leer, que estoy haciendo mal? De Antemano Gracias.

Última edición por Monimo; 06/06/2008 a las 10:14