Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

telecharger fichier .zip


Sujet :

Langage PHP

  1. #1
    Membre du Club
    telecharger fichier .zip
    Bonjour à tous,

    Je rencontre un problème:

    Je voudrais télécharger un fichier .zip que je récupère d'un API. Pour cela voici le code que j'utilise:

    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    $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);
    $fichierZipPhotos=json_decode(curl_exec($curl), true);
     
    $name=$numeroAffaire.'_'.$origine.'_'.$numeroNC.'_'.$titre;
    header('Cache-Control: public');
    header('Content-type: application/zip');
    header('Content-Disposition: attachment; filename='.$name.'.zip');
     
     
     
     
    curl_close($curl);
    echo $response;


    Cependant, cela me télécharge un fichier (avec le bon nom) en .html. Je ne comprends pas pourquoi. Comment avoir le fichier en .zip ?

    Merci

  2. #2
    Membre actif
    Bonjour,

    Il ne suffit pas de changer l'extension de la réponse HTTP et le Content-Type pour transformer des données. Un fichier ZIP est une archive compressée qui possède un format bien particulier (json_encode, ça transforme des données en chaîne JSON, pas en fichier ZIP).

    Je vous invite à lire la documentation de l'extension ZIP : https://www.php.net/manual/fr/book.zip.php et ce post qui contient tous les exemples qu'il faut pour comprendre : https://stackoverflow.com/questions/...lder-using-php