Partage
  • Partager sur Facebook
  • Partager sur Twitter

"Enregistrer la cible sous" mais sans clic droit ...

Sujet résolu
    9 avril 2007 à 13:42:04

    Bonjour à tous. J'ai déja poster quelques topics sur ce forum et à chaque, j'ai une réponse qui me convenait. Donc je m'adresse à vous pour savoir comment est-ce-que je pourrais mettre des téléchargements libre sur mon site sans passer par clic droit\enregistrer la cible sous. Mrci d'avance pour vos réponces ... :):D;)^^;):)
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      9 avril 2007 à 18:27:07

      pour plusieurs fichiers en même temps (groupe de .rtf pour une police de texte par exemple), tu peux faire un lien comme ça:


      <a href="lien vers un .zip">télécharger</a>


      à moins qu'il n'existe une fonction php toute prête...
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        9 avril 2007 à 18:33:36

        Citation : Stakhanov

        à moins qu'il n'existe une fonction php toute prête...



        <?php

        $fichier = 'truc/monfichier.txt'; //On met le fichier à télécharger
        header('Content-disposition: attachment; filename="' . basename($fichier) . '"');
        header('Content-type: application/octetstream');
        header('Pragma: no-cache');
        header('Expires: 0');
        readfile($fichier);

        ?>


        On peut utiliser ceci :)
        On pointe le lien vers cette page php, et ça télécharge le fichier, peu importe le format ou l'extension :)
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          10 avril 2007 à 9:26:06

          ça peu se coupler à un $_GET[''] non ?

          page appelante:


          <a href="download/download.php?chemin=chemin_vers_le_fichier">Télécharger</a>


          Page appellée:

          <?php

          $fichier = $_GET['chemin']; //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);

          ?>


          pour n'avoir à créer qu'une seule page de dl...
          note: il me semble que dans ce cas, il faut que le chemin soit relatif à la page de téléchargement:

          si ton site est structuré comme ça:

          /site/pages/images/image.png
          /download/download.php
          je crois que le chemin devra être: ../../images/image.png
          à vérifier...
          • Partager sur Facebook
          • Partager sur Twitter
            14 avril 2007 à 13:42:36

            Merci pour toutes vos réponses mais il y a juste un petit problème, c'est que le language PHP m'est complètement inconnu donc voila. J'ai essayé de chercher un tuto sur ce site mais je ne sais pas lequel peut m'aider à découvrir le Php vu mon nivo 0 dans ce domaine. J'aimerais bien que vous me disiez quel est le tuto qui me conviendrais le mieux ou que vous me proposiez des solutions à mon problème en restant dans les languages HTML et CSS. Merci quand même
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              14 avril 2007 à 13:45:18

              ICI

              Le cours PHP... accessible par le menu^^ :-°
              • Partager sur Facebook
              • Partager sur Twitter
                14 avril 2007 à 16:24:19

                Merci a tous je vais lire et comprendre ca tranquielement et je vous redonnerai des nouvelles après. Merci encore
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  14 avril 2007 à 18:26:31

                  de rien ;)

                  si ton problème est résolu, pense à le valider grâce au bouton en fin de page :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    14 avril 2007 à 18:56:07

                    petite question à l'attention de Stakhanov :

                    que va donner selon toi www.site.com/download/download.php?chemin=download.php ou toute autre page php ?

                    je suppose que c'est quand même une version parsé du fichier qui sera envoyé :euh:

                    edit: je continue mon monologue, même si le fichier est parsé (donc traité par php) n'y aurait-il pas risque de boucle car le second appel de download.php aurait toujours à disposition $_GET['chemin'] = download.php , ce qui relancerait la boucle ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 avril 2007 à 18:58:57

                      Hum, son fichier il me fait peur. Il faudrait penser à la sécurité.
                      En effet avec la solution que vous avez proposée on peut voir le contenu d'un fichier php par exemple, ce qui est dangereux pour la sécurité du site...

                      Tu peux mettre par exemple avant:

                      if( ereg('.php', $_GET['chemin'])
                          return false;


                      C'était juste une remarque de sécurité.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        14 avril 2007 à 19:02:21

                        oui 'fin je doute quand même que ce soit le code source qui soit envoyé, mais même dans le cas contraire, le téléchargement du fichier download.php aura un comportement bizarre j'ai l'impression...

                        quelqu'un de motivé pour tester ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          14 avril 2007 à 21:21:45

                          merci pour la remarque.. mais c'était une suggestion !!
                          j'ai testé des 'clic-droit enregistrer sous' sur mes liens (en local) et le code php est absolument pas visible.

                          je vous teste ça en local ;)

                          EDIT: ... soit c'est moi, soit ce script ne fonctionne pas ! (il me dit que j'ai pas le droit de modifier les infos du header...)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            18 avril 2007 à 18:54:07

                            Je comprends rien au tuto PHP de M@téo21. J'ai lu le début de la partie I jusqu'au TP de la page protègée par mot de passe. J'ai essayé de faire l'exercice et j'ai pas réussi et même avec la solution je ne comprenais pas. Je crois que je vais laisser tomber le php ou je vais recopier des trucs deja tout fait sur le tuto...
                            • Partager sur Facebook
                            • Partager sur Twitter
                              9 janvier 2008 à 16:01:11

                              Bonjour,

                              Je souhaiterai faire la même chose, mais avec une page web stockée localement sur la machine.

                              Afin d'aller au plus simple, je me demandais s'il était possible de faire une fonction identique mais en javascript ?

                              N'étant pas programmeur, j'espère que vous pourrez m'aider...

                              Merci par avance à tous !
                              • Partager sur Facebook
                              • Partager sur Twitter
                                9 janvier 2008 à 17:34:14

                                Mais est-ce qu'avec la solution du

                                1. <a href="lien vers un .zip">télécharger</a>


                                ça peut marcher?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  9 janvier 2008 à 18:01:41

                                  Bah ça fonctionne sur 1 page en ligne, mais lorsque la page est stockée localement sur le pc, et utilisée sans serveur web derrière (accès donc en c:\ma.page.htm), le fichier zip s'ouvre directement alors que je voudrais que mes utilisateurs puissent l'enregistrer, par exemple sur une clé usb.

                                  Le fait que je dois procéder comme ça pour des questions de contraintes, la page restant en local, et les utilisateurs n'étant pas doués avec l'informatique...

                                  La soluce php est intéressante, mais pas exploitable facilement en local...
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  "Enregistrer la cible sous" mais sans clic droit ...

                                  × 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