Comment forcer le téléchargement de fichiers en PHP sans redirection vers le navigateur ?

DDD
Libérer: 2024-10-20 20:02:30
original
938 Les gens l'ont consulté

How to Force File Downloads in PHP Without Redirecting to the Browser?

Générer des liens de téléchargement en PHP

Introduction

Fournir aux utilisateurs la possibilité de télécharger des fichiers est une fonctionnalité courante sur le Web candidatures. Cet article vous guidera dans la création de liens de téléchargement d'images et dans l'interdiction de la navigation vers le navigateur.

Solution

Pour forcer le téléchargement d'un fichier, vous pouvez utiliser le code suivant :

<code class="php"><?php
    // File path on disk
    $filePath = '/path/to/file/on/disk.jpg';

    // Check if file exists
    if(file_exists($filePath)) {
        $fileName = basename($filePath);
        $fileSize = filesize($filePath);

        // Output headers
        header("Cache-Control: private");
        header("Content-Type: application/stream");
        header("Content-Length: ".$fileSize);
        header("Content-Disposition: attachment; filename=".$fileName);
        
        // Output file
        readfile ($filePath);
        exit();
    } else {
        die('Invalid file path');
    }
?></code>
Copier après la connexion

En utilisant cet extrait de code au début d'une page PHP, les utilisateurs pourront télécharger un fichier en cliquant sur un lien normal.

Considérations de sécurité

Lors de la création d'une fonction de téléchargement de fichiers arbitraires, il est crucial de se protéger contre les entrées malveillantes. Utilisez des mesures telles que realpath pour empêcher la traversée des répertoires et restreindre les téléchargements à des emplacements prédéterminés afin de maintenir la sécurité du site Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!