Télécharger une image en PHP

Bonjour,

Je développe une application en php/html.

J'ai une image située à l'url : "http://mon_image.jpg"

Je souhaite insérer un script php permettant d'enregistrer l'image sur le bureau de l'utilisateur de mon application.

Si vous pouviez me présenter de façon limpide le code php à utiliser pour y parvenir, cela m'aiderait énormément car je n'ai trouvé pour l'instant que des explications approximatives.

cordialement

7 réponses

  1. <?php

    $fichier = 'dossier/mon_image.jpg' ; //chemin vers le fichier
    header('Content-disposition: attachment; filename="' . basename($fichier) . '"');
    header('Content-type: application/octetstream');
    header('Pragma: no-cache');
    header('Expires: 0');
    readfile($fichier);

    ?>
    0
    1. Avec les header, y'a pas une propriété qui force-download un truc comme ca?
      0
      1. Ok, mais comment faire un lien qui propose l'enregistrement de l'image directement sur mon application?
        0
        1. Nabla's proposait juste un simple lien qui pointe vers l'image et l'utilisateur devra juste faire un clique droit "enregistrez la cible du lien sous" sur le lien pour l'obtenir :

          <a href="http://mon_image.jpg" >L'image à telecharger</a>
          0
          1. Merci de vos réponse,

            j'ai donc compris qu'on ne peut exécuter directement l'enregistrement,
            cependant je ne sais pas comment rendre l'enregistrement possible en passant par un lien de téléchargement.

            J'ai lu des exemple avec des $file, des headers etc... mais tous les exemple que j'ai essayer ne marchaient pas, sans doute car non adapté à mon problème.

            Si vous pouviez la aussi m'expliquer comment je dois procéder toujours avec mon exemple "http://mon_image.jpg" .

            Merci
            0
            1. Contributeur
              le php s'execute coté serveur=> impossible d'agir sur l'ordinateur du client !

              je pense pas que le javascript te permete d'enregistrer un fichier sans demander d'autorisation... je pense qu'il faut se tourner vers un applet JAVA. (ou un activeX, mais la c'est vraiment caca)

              Sinon, un bon vieux lien, et "enregistrer sous" ...
              0
              1. Bonjour ,

                PHP ne s'exécute que du coté serveur donc il est impossible d'interagir avec le coté client ,pour cela le langage qu'il faudra utiliser est le javascript, et encore je ne sais pas si c'est faisable car niveau sécurité c'est dangereux ..
                0