martes, 26 de julio de 2016

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.';
    }
}

0 comentarios:

Publicar un comentario