PHP usa código para descargar archivos
Autor:Eve Cole
Fecha de actualización:2009-06-05 16:38:06
Generalmente implementamos descargas llamando a URL, pero no podemos usar este método cuando encontramos archivos que IE puede reconocer al abrir, como descargar una imagen, una página web HTML, etc. En este caso, se requiere programación para implementarlo. El código puede resolver el problema:
<?
if( vacío($_GET['FileName'])|| vacío($_GET['FileDir'])|| vacío($_GET['FileId'])){
echo'<script> alert("¡Conexión ilegal!"); ubicación.replace ("index.php") </script>';
}
$nombre_archivo=$_GET['NombreArchivo'];
$file_dir=$_GET['FileDir'];
$FileId=$_GET['FileId'];
$file_dir = $file_dir."/";
if (!file_exists($file_dir.$file_name)) { //Comprueba si el archivo existe
echo "Archivo no encontrado";
salida;
} demás {
$file = fopen($file_dir . $file_name,"r"); // Abre el archivo
//Etiqueta del archivo de entrada
Encabezado("Tipo de contenido: aplicación/flujo de octeto");
Encabezado("Aceptar-Rangos: bytes");
Encabezado("Aceptar-Longitud: ".filesize($file_dir. $file_name));
Encabezado("Disposición de contenido: archivo adjunto; nombre de archivo=". $nombre_archivo);
// contenido del archivo de salida
echo fread($file,filesize($file_dir . $file_name));
fclose($archivo);
salida();
}
?>