Maison  >  Article  >  développement back-end  >  Comment envoyer des fichiers aux utilisateurs depuis un serveur PHP ?

Comment envoyer des fichiers aux utilisateurs depuis un serveur PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-25 08:13:48197parcourir

How to Send Files to Users from a PHP Server?

Envoyer le fichier à l'utilisateur

Lorsqu'un utilisateur interagit avec un script PHP, vous pouvez rencontrer des scénarios dans lesquels vous devez transmettre un fichier, tel qu'un PDF, vers le navigateur du client. Pour y parvenir, l'approche appropriée dépend de l'emplacement de stockage du fichier.

Fichier côté serveur

En supposant que le fichier réside sur le serveur, la méthode préférée est pour utiliser la fonction readfile(). Cependant, la simple exécution de readfile($file) ne suffit pas. Le script doit inclure les en-têtes appropriés pour permettre au client de recevoir le fichier avec succès.

Reportez-vous à l'exemple suivant du manuel PHP officiel :

<?php
$file = 'monkey.gif';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

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!

Déclaration:
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