Bonjour à tous.
Je code un site internet en php et j'utilise CURL pour utiliser les fonctionnalités d'une API.
Je veux télécharger un fichier PDF avec le bon nom qui est mis grâce à l'API (lorsque l'on télécharge la fiche directement du swagger cela met le bon nom).
Voici ce que je fais pour télécharger le fichier:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "URL",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
rtrim($token, "\r\n")
),
));
$response = curl_exec($curl);
header('Cache-Control: public');
header('Content-type: application/pdf');
header('Content-Disposition: attachment');
curl_close($curl);
echo $response;
Cependant cela ne se télécharge pas avec le bon nom. Quelqu'un aurait une idée de comment je peux faire ?
Merci !
Merci lolo3129, mais je ne vois pas où cela est écrit...
j'ai déjà la partie
header('Content-Type: application/pdf');
J'ai également une partie
header('Content-Disposition: attachment; filename="downloaded.pdf"');
sans la partie filename car ce n'est pas un nom que je veux mettre à la main mais le nom que je veux récuperer de l'API
et je ne comprends pas trop à quoi sert
readfile('original.pdf');
Encore merci !
c'est bon j'ai réussi à récupérer le nom puis à le mettre avec filename ! merci beaucoup !