Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lien télécharger image

Pour eviter le clic droit + enregistrer-sous

    2 février 2007 à 11:47:00

    Bonjour,

    Je cherche à mettre un lien "Cliquez-ici pour télécharger cette image"
    Le but: éviter le clic droit + enregistrer-sous

    J'ai trouver un exemple qui je pense sera plus simple pour me faire comprendre: :lol:

    Cliquez-ici pour télécharger l'image

    Voila ce que j'aimerai arriver! j'ai chercher sur le forum et dans les tutos mais rien n'explique cette chose pourtant utile je trouve!

    Pouvez-vous me guider sur la manière de procédé?

    Merci beaucoup

    Cordialement
    Fredo
    • Partager sur Facebook
    • Partager sur Twitter
      2 février 2007 à 13:09:31

      Salut,

      <?php
      $file = 'http://localhost/dir/img.jpg';

      if(file_exists($file)){
              header('Content-Type: application/force-download');
              header('Content-Disposition: attachment; filename='.basename($file));
              readfile($file);
      }
      ?>

      Ce code est dangereux, si $file contient l'adresse d'une page php, celle-ci se téléchargera de la même manière. Je te conseille de faire une base de données contenant les adresses téléchargeables et un id pour chacune. Les liens étant de la forme : http://adresse/ma_page_de_download.php?file=12345 où file est un id.
      • Partager sur Facebook
      • Partager sur Twitter
        2 février 2007 à 13:34:20

        Bonjour,

        merci de m'avoir répondu!

        Ce code fonctionne en cliquant sur un lien? si oui comment mettre le nom du lien dans ce code?


        Merci beaucoup
        • Partager sur Facebook
        • Partager sur Twitter
          2 février 2007 à 13:44:34

          Tu peux faire une liste tout simple de toutes les images à télécharger et, quand tu cliques d'ici, ça t'emmene à la page de download, avec une variable en $_GET qui contiendra l'id de l'image à télécharger. Ensuite, tu fais des vérifs, puis tu télécharges :)
          • Partager sur Facebook
          • Partager sur Twitter
            2 février 2007 à 13:49:30

            Comme je l'ai dit, pour que le code soit sécurisé, il faut faire une table contenant 2 champs : id et adresse. Les liens sont du type :
            <a href="http://adresse/ma_page_de_download.php?file=12345">Cliquez-ici pour télécharger l'image</a>

            et ma_page_de_download.php contient :
            <?php
            if(!isset($_GET['file'])){
                die('Erreur : aucun fichier spécifié.');
            }

            mysql_connect('...','...','...');
            mysql_select_db('...');
            $result = mysql_query('SELECT adresse FROM ta_table WHERE id='.(int)$_GET['file']);

            if(mysql_num_rows($result)<1){
                die('Erreur : fichier introuvable.');
            }

            $file = mysql_result($result,0);

            if(!file_exists($file)){
                die('Erreur : le fichier n\'existe plus.');
            }

            header('
            Content-Type: application/force-download');
            header('
            Content-Disposition: attachment; filename='.basename($file));
            readfile($file);
            ?>
            • Partager sur Facebook
            • Partager sur Twitter
              2 février 2007 à 13:51:23

              En même temps, sur le lien du tuto, c'est déjà expliqué ça ^^
              • Partager sur Facebook
              • Partager sur Twitter
                2 février 2007 à 14:00:14

                Ah oui en effet :p désolé, j'avais pas lu le tuto.
                • Partager sur Facebook
                • Partager sur Twitter
                  2 février 2007 à 16:36:08

                  Bonjour,

                  Deja merci de votre aide!

                  Bon alors quand dans la table un id n'existe pas j'ai:

                  Erreur : fichier introuvable.

                  Ce qui est normal!!

                  Mais quand un un id existe j'ai ce message au lieu du téléchargement:

                  Erreur : le fichier n'existe plus.

                  Comment ça se fait que j'ai ce message au lieu du téléchargment?

                  Merci beaucoup de votre aide
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 février 2007 à 16:56:15

                    Cette erreur ne s'affiche que si le fichier dont l'adresse est récupérée dans la table n'existe pas.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 février 2007 à 17:15:18

                      bien si elle existe bien et elle est correct! je ne comprend!

                      Chez vous le code fonctionne bien?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 février 2007 à 17:31:03

                        En fait, le problème vient du fait que pour les versions antérieures à PHP 5, file_exists() ne prend comme paramètre que des adresses relatives.
                        Avec PHP 4, si tu supprimes les 3 lignes :
                        if(!file_exists($file)){
                            die('Erreur : le fichier n\'existe plus.');
                        }

                        le problème ne se posera plus mais si le fichier n'existe pas, le fichier downloadé sera illisible.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 février 2007 à 17:51:01

                          Bonjour,

                          Maintenant j'ai bien la fenetre qui apparait pour le téléchargement mais j'ai cette erreur:

                          Internet explorer ne peut pas télécharger download.php


                          Sinon le reste fonctionne (j'ai bien le message d'erreur quand une image n'existe pas)

                          Merci de votre aide
                          • Partager sur Facebook
                          • Partager sur Twitter
                            2 février 2007 à 21:04:25

                            Citation : Chezfredo

                            Cliquez-ici pour télécharger l'image



                            Intelligent le système, le webmaster, via un .htaccess a associer le format .jpg à une archive rar. Les navigateurs téléchargent automatiquement les archives rar, mais le fichier est un jpg.

                            AddType application/x-rar-compressed .jpg .jpeg .JPG .JPEG


                            Un joli tuto sur le sujet ici.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              3 février 2007 à 14:23:20

                              Bonjour,

                              j'ai suivit le tuto mais cela ne fonctionne pas pour autant!

                              On ne peut pas corriger l'erreur qu'il me met:

                              "Internet explorer ne peut pas télécharger download.php"

                              Merci beaucoup
                              • Partager sur Facebook
                              • Partager sur Twitter
                                4 février 2007 à 18:12:04

                                Bonjour,

                                je viens d'essayer de mettre le code dans la page download.php mais cela ne fonctionne toujours pas?

                                Quelqu'un à réussi ou à une solution?

                                Merci beaucoup
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  6 février 2007 à 11:01:52

                                  Bonjour,

                                  toujours personne à trouver la solution?

                                  Merci beaucoup
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    8 février 2007 à 17:47:29

                                    Bonjour,

                                    Voila j'ai modifié le code et maintenant j'ai le problème suivant:

                                    J'ai bien la fenetre de téléchargment qui arrive mais pour enregistrer le fichier: download.php?file=18

                                    Ce qui n'est pas bon (ce n'est pas l'image donc imposible d'enregistrer)

                                    Voici le code:

                                    <?php
                                    if(!isset($_GET['file'])){
                                        die('Erreur : aucun fichier spécifié.');
                                    }

                                    mysql_connect('localhost','........','........');
                                    mysql_select_db('........');
                                    $result = mysql_query('SELECT url FROM gimagelist WHERE id='.(int)$_GET['file']);

                                    if(mysql_num_rows($result)<1){
                                        die('Erreur : fichier introuvable.');
                                    }

                                    $file = mysql_result($result,0);



                                    header('Content-Disposition: attachment; filename=.basename($file)');
                                    readfile($file);
                                    ?>


                                    Que dois-je faire pour que cela fonctionne?

                                    Merci beaucoup
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      10 février 2007 à 15:01:53

                                      Bonjour,

                                      Petit up pour dire que je suis toujours à la recherche de corriger mon problème!

                                      Merci beaucoup de votre aide
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        12 février 2007 à 12:26:48

                                        Bonjour,

                                        Re petit up pour dire que je suis toujours à la recherche de corriger mon problème!

                                        Merci beaucoup de votre aide
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          14 février 2007 à 13:26:09

                                          Bonjour,

                                          Re petit up pour dire que je suis toujours à la recherche de corriger mon problème!

                                          Merci beaucoup de votre aide
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            15 février 2007 à 21:28:18

                                            Bonjour,

                                            Re petit up

                                            Merci beaucoup de votre aide car je suis toujours bloquer!
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              18 février 2007 à 21:19:57

                                              Bonjour,

                                              Re petit up

                                              Je commence à croire que cela est presque impossible à faire!

                                              Merci beaucoup
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                19 février 2007 à 1:10:19

                                                le code est bon. le nom du fichier est mauvais mais c'est bien l'image qui est téléchargée.

                                                t'as fait une erreur de copier/coller sur le code header qui t'a été donné... un bete probleme de concatenation !
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  19 février 2007 à 21:54:07

                                                  Bonsoir,

                                                  je vien de tenter avec le bon code cette fois mais cela ne fonctionne toujours pas!

                                                  Merci beaucoup pour votre aide
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  Lien télécharger image

                                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                  • Editeur
                                                  • Markdown