Position actuelle: Accueil> Derniers articles> Guide complet de téléchargement de fichiers PHP : exemples de readfile, d'en-tête et de cURL

Guide complet de téléchargement de fichiers PHP : exemples de readfile, d'en-tête et de cURL

M66 2025-10-28

Plusieurs façons de télécharger des fichiers avec PHP

Il existe de nombreuses façons de télécharger des fichiers en PHP, et vous pouvez choisir la méthode la plus appropriée en fonction des différents besoins. Les méthodes couramment utilisées incluent : l'utilisation de la fonction readfile() pour télécharger directement, l'utilisation de la fonction header() pour forcer le téléchargement et l'utilisation de la bibliothèque cURL pour télécharger des fichiers distants.

Utilisez readfile() pour télécharger des fichiers directement

Le moyen le plus simple de télécharger est d'utiliser la fonction readfile() intégrée à PHP :

<?php
$file = 'file.txt';

if (file_exists($file)) {
    readfile($file);
} else {
    echo 'File not found.';
}
?>

Utilisez header() pour forcer le navigateur à télécharger

Si vous souhaitez que le navigateur télécharge le fichier au lieu de l'ouvrir directement, vous pouvez définir l'en-tête HTTP via header() :

<?php
$file = 'file.txt';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($file));
    header('Content-Length: ' . filesize($file));
    readfile($file);
} else {
    echo 'File not found.';
}
?>

Télécharger des fichiers distants à l'aide de cURL

Lorsque vous devez télécharger des fichiers distants ou effectuer des opérations plus complexes, vous pouvez utiliser la bibliothèque cURL :

<?php
$url = 'https://example.com/file.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);

file_put_contents('file.txt', $data);
?>

Ci-dessus figurent plusieurs méthodes courantes pour implémenter le téléchargement de fichiers en PHP. Qu'il s'agisse de téléchargement de fichiers locaux ou d'acquisition de fichiers à distance, vous pouvez vous référer à ces exemples pour l'implémenter facilement.