IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Créer un bouton de type "Parcourir"


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut Créer un bouton de type "Parcourir"
    Bonjour à tous,

    Voilà, je suis en train de créer un intranet avec EASY PHP et je voudrais créer sur une page disons 'mapage.php' un bouton du même style que 'parcourir' dans windows, où quand on clique dessus cela ouvre une fenêtre où on peut aller chercher un fichier.

    L'utilisateur va chercher son fichier qui peut être n'importe où (sur le DD de son poste ou ailleurs...) et il clique sur 'OK'. Ensuite ce que fait le système est tout simplement :

    1-De déplacer (ou copier) le fichier vers un emplacement sur le SERVEUR, généré dynamiquement. Ex : Si on cherche un fichier de type 'facture du client A', le chemin de destination serait C:/Factures/A et pour 'contrat du client B', le chemin serait C:/Contrats/B. A noter que le type du fichier est connu (il peut être passé par un GET par ex) et indépendant de son nom.

    2-De copier le chemin de destination, le nom, la taille, etc... dans une table de ma BD.

    (Bon après bien sur il y aura un bouton 'Ouvrir fichier' qui ouvrira le fichier en le cherchant à l'emplacement récupéré de la BD, mais ça je sais déjà comment faire.)

    Donc en fait ma question est : Où écrire quoi?! lol

  2. #2
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    en fait, il faut simplément faire ça avec l'élément de formulaire input type = file.

    après, tu effectues tes traitements avec PHP, notement avec la fonction move_uploaded_file...

    J'espère que ça te mettra sur la voie

  3. #3
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 480
    Points
    3 480
    Par défaut
    Salut,

    Bouton "parcourir" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <FORM name="uploadFile" action="receptionFichier.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
    <INPUT type="file" name="leFichier">
    <INPUT type="submit" value="Valider le choix" name="submit">
    </FORM>
    MAX_FILE_SIZE: taille maximale du fichier.

    Ensuite, définir le chemin en fonction du type de fichier, c'est un algorithme PHP, je pense que tu as une idée pour le faire.

    Sache que tu ne peux pas savoir quel est le chemin du fichier coté "CLIENT". Tout ce que tu obtiens c'est le fichier, ensuite c'est à toi de le déplacer et de faire les manipulations que tu souhaites.

    La FAQ contient une description sommaire qui va t'aider.

    A+

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut
    OKi d'acki! Merci les gars! Bon je vais lire et laisser mariner tout ça dans ma tête, ensuite ESSAYER de le faire fonctionner et je reviens donner de mes nouvelles

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut
    Euh oui donc j'ai bien lu le tuto que tu m'as mis en lien, mais une question reste en suspend...

    Si je veux uploader un fichier dans mon serveur dans un dossier qui n'existe pas, il n'arrive pas à uploader. Je voudrais que quand cette situation se présente, il me crée le path dynamiquement.

    Ex : Je veux uploader truc.pdf dans mon répertoire c:/youpi/matin/
    Or ce chemin dans c:/youpi/ il n'y a pas de dossier matin. Et donc le chargement échoue. je voudrais que quand c'est comme cela, il me crée un dossier matin et qu'il me mette le truc.pdf dedans. C'est possible?

  6. #6
    Membre actif Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Points : 296
    Points
    296
    Par défaut
    mkdir devrait faire ton bohneur

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut
    Merci, mais j'ai encore un petit souci... euh en fait c'est un gros souci, j'arrive pas à faire fonctionner mkdir.

    J'ai écris juste le code suivant dans une page php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <html>
        <body>
    <?php
      mkdir ("/chemin/de/mon/dossier");
    ?>
        </body>
    </html>
    qui est l'exact copier coller du code donné en exemple ici : http://fr3.php.net/manual/fr/function.mkdir.php

    Je n'ai fait que rajouter des balises HTML et BODY.

    Or quand je charge la page j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mkdir(/chemin/de/mon/dossier): No such file or directory in c:\program files\easyphp1-8\www\projet1\test\page1.php on line 4
    Et bien sur pas de traçe du dossier 'chemin' ni rien de tout ça..
    Au fait MKDIR te crée juste un dossier, ou un chemin complet? selon mon exemple est ce que les dossiers 'chemin', 'de' et 'mon' doivent exister ou MKDIR va les créer tout seul?

  8. #8
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    De mémoire il me semble que ton chemin doit déjà exister afin de créer le dossier final

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut
    Hum... après des tests j'en suis arrivé à la même conclusion que toi...

    Est ce qu'il existe une fonction qui te crée tout un chemin de répertoire, ou bien il faut créer les dossier les uns à la suite des autres? (ca va faire long!)

  10. #10
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Citation Envoyé par dessinateurttuyen
    Hum... après des tests j'en suis arrivé à la même conclusion que toi...

    Est ce qu'il existe une fonction qui te crée tout un chemin de répertoire, ou bien il faut créer les dossier les uns à la suite des autres? (ca va faire long!)
    Un petit explode de ton chemin, une jolie boucle for et le tour est joué ya rien de sorcier là dedans

  11. #11
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 291
    Points : 1 059
    Points
    1 059
    Par défaut
    Tiens voilà une fonction qui vient directement de php.net :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    function mkdir_r($dirName, $rights=0777){
       $dirs = explode('/', $dirName);
       $dir='';
       foreach ($dirs as $part) {
           $dir.=$part.'/';
           if (!is_dir($dir) && strlen($dir)>0)
               mkdir($dir, $rights);
       }
    }
    ?>

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut
    Okay merci les gars pour ce petit bout de code!

    (en fait je m'étais résolu à faire tout le chemin "à la main")

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo