Hola a todos! Tengo el siguiente código para que los usuarios de mi web bajen archivos pdf y xls que son los únicos que subo:
Código PHP:
$the_array = Array();
$handle = opendir('descargas/.');
echo "<table border='0' width='500'>";
$numcolumnas = 2;
if ($the_array > 1) {
$i = 1;
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$the_array[] = $file;
}
}
closedir($handle);
sort ($the_array);
foreach($the_array as $val){
$resto = ($i % $numcolumnas);
if($resto == 1){ /*si es el primer elemento creamos una nueva fila*/
echo "<tr>";
}
echo "<td height='27' class='arial-11pxNG'>";
echo "<a href=\"file.php?file=$val\">$val</a><br>";
echo "</td>";/*mostramos el valor del campo especificado*/
if($resto == 0){/*cerramos la fila*/
echo "</tr>";
}
$i++;
}
if($resto != 0){/*Si en la última fila sobran columnas, creamos celdas vacías*/
for ($j = 0; $j < ($numcolumnas - $resto); $j++){
echo "<td></td>";
}
echo "</tr>";
}
}
echo "</table>";
Y el archivo file.php
Código PHP:
$file = $_GET['file'];
$enlace = "descargas/".$file;
//$enlace = $path_a_tu_doc."/".$file;
header ("Content-Disposition: attachment; filename=".$file);
//header ("Content-Disposition: attachment; filename=".$file."nn");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
El problema es que en IE lo baja perfecto, pero con FF, cuando me da la opción de guardar como no me aparece el nombre del archivo, sino que me guarda un archivo sin extensión ni nada.
Si quieren pueden hacer la prueba con IE y con FF
acá
¿Alguna sugerencia del por què suscede esto?
Muchas gracias y saludos.
Marx.