Header Ads

Cómo forzar la descarga de archivos en PHP

Para descargar un archivo en PHP, usted necesita para forzar al navegador a descargar archivo excepto mostrar. En este artículo, vamos a mostrar cómo descargar un archivo desde el directorio o servidor en PHP. Usando header() y readfile(), puede descargar un archivo en PHP. Aquí le proporcionamos el ejemplo código PHP para forzar la descarga de archivos en PHP. Asimismo, este simple script PHP ayuda a implementar un enlace de descarga que descarga un archivo desde el directorio. El siguiente script de ejemplo se puede utilizar para descargar cualquier tipo de archivo como texto, imágenes, documentos PDF, ZIP, etc.

Descargar un archivo en PHP

$fileName basename('codexworld.txt');$filePath 'files/'.$fileName;
if(!empty(
$fileName) && file_exists($filePath)){
    
// Define headers
    
header("Cache-Control: public");
    
header("Content-Description: File Transfer");
    
header("Content-Disposition: attachment; filename=$fileName");
    
header("Content-Type: application/zip");
    
header("Content-Transfer-Encoding: binary");
    
    
// Read the file
    
readfile($filePath);
    exit;
}else{
    echo 
'The file does not exist.';
}

Descargar un archivo a través del vínculo de anclaje

A veces es necesario para proporcionar un vínculo al usuario para descargar el archivo desde el servidor. Utilice el siguiente código de ejemplo para mostrar un vínculo HTML Para descargar un archivo desde el directorio usando PHP.

HTML :
<a href="download.php?file=codexworld.png">Dowload File</a>
PHP (download.php):
<?phpif(!empty($_GET['file'])){
    
$fileName basename($_GET['file']);
    
$filePath 'files/'.$fileName;
    if(!empty(
$fileName) && file_exists($filePath)){
        
// Define headers
        
header("Cache-Control: public");
        
header("Content-Description: File Transfer");
        
header("Content-Disposition: attachment; filename=$fileName");
        
header("Content-Type: application/zip");
        
header("Content-Transfer-Encoding: binary");
        
        
// Read the file
        
readfile($filePath);
        exit;
    }else{
        echo 
'The file does not exist.';
    }
}

No hay comentarios