Partage
  • Partager sur Facebook
  • Partager sur Twitter

Faire un gestionnaire de téléchargement

    19 janvier 2018 à 15:35:52

    Bonjour à tous ! Voilà, je voulais savoir comment faire en sorte de pouvoir faire une sorte de 'mini' gestionnaire de téléchargement. Je m'explique : j'ai un formulaire qui permet de rentrer ses "contacts" et qui permet pour chaque contact d'upload un devis (c'est pour une entreprise).

    Lorsque le contact Durant est créé (par exemple), sur mon serveur le dossier Durant se crée et dedans est mis le devis uploadé. Mais un client peut avoir plusieurs devis !

    Donc l'entreprise upload un deuxième devis pour Durant qui est mis dans le dossier Durant du serveur crée auparavant.

    Maintenant l'entreprise veut voir les devis uploadé pour Durant... Et la je bloque. J'aimerais que l'entreprise accède à une page ou tous les prénoms des clients rentré sont recensé et ou lors du clique sur par exemple Durant l'entreprise puisse voir tous les devis de ce Monsieur et ou ils puissent ,éventuellement, les télécharger.

    Merci de votre aide et j’espère que ce n'est pas trop ambitieux !

    • Partager sur Facebook
    • Partager sur Twitter
      19 janvier 2018 à 15:41:57

      Bonjour à toi !

      Tout cela dépend du fichier correspondant au devis, par exemple tu va pouvoir afficher sans problème un fichier texte, PDF, png, etc. Certains type de fichiers comme les .csv (Sheets) te permettent de récupérer les informations qu'il y a dedans.

      Pour ce qui est du téléchargement, un simple lien pointant vers le fichier en question (Les devis) permettra à la personne de le télécharger.

      • Partager sur Facebook
      • Partager sur Twitter
      Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter | Développeur Web et Mobile chez Beemoov
        20 janvier 2018 à 20:57:33

        Salut et merci de ta réponse ! Alors oui les fichiers sont exclusivement des fichiers .PDF ! Le problème à la limite ce n'est pas le téléchargement c'est surtout de pouvoir faire avoir accès à tous les fichiers déjà uploader pour les clients... Par exemple j'aimerai avoir une liste : 

        • Dupont 
        • Durant
        • Duranton
        • Duponton
        Chaque clients a déjà au moins un devis, et lorsque je clique sur "Durant" par exemple je voudrais voir et pouvoir manipuler ainsi ce fichier EXEMPLE :
        Durant 
        • Devis 1                                      Télécharger
        • Devis 2                                      Télécharger
        • ETC...
        Merci à toi et à vous pour vos éventuelle réponse ! 
        • Partager sur Facebook
        • Partager sur Twitter
          21 janvier 2018 à 0:42:18

          La question porte donc plutôt sur du PHP si je ne m'abuse ^^.. Un petit coup de scandir() te permettrai de récupérer tous les dossiers (donc les clients) ainsi que les devis qu'ils contiennent. Si tu a du mal, je serai même ravi de te créer la fonction ;)

          -
          Edité par Skayotix 21 janvier 2018 à 13:07:07

          • Partager sur Facebook
          • Partager sur Twitter
          Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
            21 janvier 2018 à 11:54:54

            Salut et merci de ta réponse ! Oui oui du PHP effectivement 😂

            Super gentil de ta part, mais je vais essayer et je serai ravis par contre que tu me guides dans ce chemin risqué et périlleux. Je vois que scandir() correspond parfaitement à ce que je recherche ! 

            Merci à toi ! 

            • Partager sur Facebook
            • Partager sur Twitter
              21 janvier 2018 à 13:12:14

              Je suis la en cas de besoin ;)
              • Partager sur Facebook
              • Partager sur Twitter
              Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
                21 janvier 2018 à 14:43:38

                Sujet déplacé vers le forum PHP :)
                • Partager sur Facebook
                • Partager sur Twitter

                Pas d'aide concernant le code par MP, le forum est là pour ça :)

                  23 janvier 2018 à 18:34:50

                  /**
                   * Cherche l'ensemble des devis dans un dossier
                   * @param string $dir le dossier à analyser
                   * @return array un array contenant tous les devis
                   */
                  function get_quotations(string $dir): array
                  {
                      //On verifie si $dir est bien un dossier sinon on retourne un array vide
                      if (! is_dir($dir))
                          return array();
                      
                      //Variable de retour
                      $quotations = array();
                      //On analyse le dossier $dir
                      $folders = scandir($dir);
                      
                      //Pour chaque entrée, on vérifie s'il s'agit d'un dossier et qu'il ne s'appelle pas '.' ou '..'
                      foreach ($folders as $folder) if (! in_array($folder, array( '.', '..' )) && is_dir($folder)) {
                          //On analyse le dossier du client
                          $files = scandir($folder);
                          //Pour chaque entrée, on vérifie s'il s'agit bien d'un fichier .pdf (dont le nom contient au moins une lettre)
                          foreach ($files as $file) if (! in_array($file, array( '.', '..' )) && ! is_dir($file) && strpos($file, '.pdf')) {
                              //On ajoute le devis à l'array de retour
                              $quotations[$folder][] = $folder . DIRECTORY_SEPARATOR . $file;
                          }
                      }
                      
                      return $quotations;
                  }
                  Voila pour toi, j’espère que ça va fonctionner ;)

                  -
                  Edité par Skayotix 23 janvier 2018 à 18:35:39

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
                    24 janvier 2018 à 10:12:46

                    Je test tout ça et je reviens vers toi. Merci beaucoup !

                    EDIT : Vu que c'est vraiment trop compliqué, je vais essayer une autre méthode.  Voici l'arborescence de mes fichiers :

                     Devis---

                             |-----2017

                                   |------ Client N°1

                                                    |-------Devis N°1.pdf

                                                    |-------Devis N°2.pdf

                                                    |-------Devis N°3.pdf

                                   |------ Client N°2

                                                    |-------Devis N°1.pdf

                                   |------ Client N°3

                                                    |-------Devis N°1.pdf

                    En gros j'ai une liste HTML qui contient les dossiers des années, j'aimerai que lorsque je clique dans ma liste sur le dossier 2017, ca affiche une deuxième liste sur la page sans la recharger, ou dans cette liste il y aura les clients et lorsque je clique sur le clients, il y a un tableau avec tous les fichiers qui s'affiche. 

                    Voilà je pense que c'est un peu plus simple non ? Merci.

                    -
                    Edité par SlotyS 24 janvier 2018 à 12:25:49

                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 janvier 2018 à 15:35:27

                      Salut,

                      Si tu as compris ma fonction, tu peux la modifier pour fonctionner avec les année mais l’idéal serai de tout stocker dans une base de données avec deux tables :

                      • Clients
                      • Devis (avec un champ année)

                      Ensuite je te conseillerai, lors des upload des devis, de leur donner un nom random (genre UUID) et de les stocker dans un dossier devis, en enregistrant leur nouveau nom dans la base de données.

                      Pour ce qui de l'affichage, envoie tous les devis au client en HTML et gere l'affichage en JavaScript.

                      Besoin d'aide pour le JavaScript ? -> Forum JS

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

                      Faire un gestionnaire de téléchargement

                      × 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