File "curl02.php"

Full Path: /home/analogde/www/Documents/CURL/curl02.php
File size: 1.27 KB
MIME-type: text/x-php
Charset: utf-8

<?php
// URL du fichier à télécharger (sur le même serveur)
$fileUrl = 'http://votre-serveur/chemin/vers/votre/fichier.ext';

$fileUrl = 'https://analog-design.net/2024_PHP/2024_PHP_12_11_2024/FTP/Monsta-FTP-master/93522827_016_5bab.jpg';

// Nom du fichier pour le téléchargement
$fileName = basename($fileUrl);

// Initialiser une session cURL
$ch = curl_init($fileUrl);

// Définir les options cURL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, false);

// Exécuter la requête cURL et obtenir le contenu du fichier
$fileContent = curl_exec($ch);

// Vérifier s'il y a eu une erreur cURL
if (curl_errno($ch)) {
    echo 'Erreur cURL: ' . curl_error($ch);
    curl_close($ch);
    exit;
}

// Fermer la session cURL
curl_close($ch);

// Définir les en-têtes HTTP pour forcer le téléchargement
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $fileName . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . strlen($fileContent));

// Envoyer le contenu du fichier au navigateur
echo $fileContent;

// Terminer le script
exit;
?>