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 :

Comment créer un dossier sur un serveur


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 20
    Points
    20
    Par défaut Comment créer un dossier sur un serveur
    Bonjour,

    Voila je suis extremement débutant, je cherche à creer un script qui permette de creer un dossier sur le server du réseau de mon entreprise. J'arrive à en creer un n'importe où sur C, mais des qu'il s'agit de passer sur le groupe de travail/ favoris reseau etc ca veut pas... Je sais pas comment résoudre le problème... Je ne sais pas si c'est une histoire de droit, mais que je vais là ou je veux creer mon dossier, je peux le creer manuellement.

    voila le message d'erreur: Warning: mkdir() [function.mkdir]: No such file or directory

    Pourtant je met exactement l'emplacement qui ets indiqué sur les propriétés des dossier deja présents.

    Ensuite, j'aimerai qu'une fois créé, je puisse copier des dossiers situés sur mon disque dur, et les mettre dans le nouveau dossier. Parce que d'apres ce que j'ai compris, on peut deplacer un fichier mais pas un dossier... La seule solution serait de les recreer ?

    J'espere que j'ai réussi à me faire comprendre, je suis on ne peut plus débutant alors je vous demanderai d'être indulgent.

    Cordialement,

    Archalia

  2. #2
    Membre régulier Avatar de randimby
    Inscrit en
    Décembre 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 64
    Points : 72
    Points
    72
    Par défaut
    Il s'agit d'un problème de droit.

    Voici un workaround:
    Tu as un utilisateur USERNAME avec un mot de passe MODPASS sur le serveur réseau, et la lettre de lecteur Y: n'est pas allouée. Le nom de partage désiré est \\192.168.1.2\D

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     system("net use Y: \\\\192.168.1.2\\D MODPASS /USER:192.168.1.2\\USERNAME");
     
     chdir("y:\\"); 
     mkdir("NouveauDossierTest");
     
     system("net use Y: /delete");
    ?>

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    Tour d'abord, merci de votre réponse.

    Malheuresement pour vous je suis dans l'obligation de vous demandez des informations complémentaires.

    En effet je n'ai pas compris à quoi correspondait le Y, pourquoi y a t'il besoin de rentrer deux fois l'adresse ip? Faut-il mettre tous les "\" présents ?

    que signifie cette instruction : chdir("y:\\");

    et heu que signifie workaround ?

    J'espere ne pas trop passé pour un imbécile et je m'excuse pour cette avalanche de questions, néanmoins j'aurai besoin qu'on éclaire ma lanterne.

    Je vous remercie d'avance.

    Cordialement

    Archalia

  4. #4
    Membre régulier Avatar de randimby
    Inscrit en
    Décembre 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 64
    Points : 72
    Points
    72
    Par défaut
    Bon, ne t'inquiètes pas, on est ici pour s'entraider, donc n'hésites pas à re-demander jusqu'à ce que tu comprennes tout.

    dico: workaround: un moyen pour tâcler un petit problème. (une sorte de deuxième voie)

    Ton problème, c'est que l'utilisateur sous lequel tourne le serveur (et le moteur php) n'a pas le droit de voir l'arborescence du dossier partagé. => No such file or directory (ce fichier n'existe pas, parce que PHP ne peut pas le trouver).

    la commande php system() envoie une commande qui sera intérprété par l'interpréteur de commande (c'est à dire comme si tu ouvrais une console). Vois l'aide php sur la fonction system.
    Ici, system('net use ...') est équivalent à un scénario où tu ouvres une console (on appelait ça DOS avant et tu y tapes net use ... après l'invite c:\
    Pour essayer, ouvres une console et tape net use /?
    Cette partie n'est donc plus php mais windows.
    La syntaxe net use que nous utilisons est
    net use Y: \\192.168.1.2\d MODPASS /USER:192.168.1.2\USERNAME

    Cette commande mappe le dossier de partage \\192.168.1.2\d par la lettre locale Y: sur le serveur PHP. C'est à dire: pour tout fichier se trouvant sur le lecteur réseau, on y accédera en remplaçant \\192.168.1.2\d par Y:

    Sur explorateur windows, tu as dans le menu outils un sous-menu Connecter un lecteur réseau, c'est pareil.

    L'autre chose importante est que pour le lecteur Y:, notre moteur PHP y a accès (car on a entré le mot de passe).

    Sous PHP, tu dois doubler un backslash au sein d'une chaîne, donc, pour avoir deux \, tu dois en écrire 4.

    La commande chdir() est équivalente à CD dans un interpréteur de commandes, chdir("Y:\\") met le répertoire en cours sur le nouveau mappage du dossier partagé. Tu n'es pas obligé de le faire. Tu peux accéder directement à des fichier par des choses du genre
    mkdir("Y:\\NewFolder")
    => équivalent à md NewFolder quand tu est sur le dossier \\192.168.1.2\d

    Dans la première syntaxe de system(), j'ai écrit 2 fois l'adresse IP, la première est le nom de partage (\\192.168.1.2\d) et la seconde est le compte utilisateur (192.168.1.2\USERNAME). Ceci veut dire que USERNAME est un compte utilisateur sur le serveur réseau et non sur la machine cliente.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup à vous !! Je vous reconnaissant !

    Problème résolu

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

Discussions similaires

  1. Comment créer un repertoire sur le serveur
    Par stardeus dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/02/2007, 23h18
  2. [C# 2.0] Comment créer une table sur un serveur SQL 2000 ?
    Par Filippo dans le forum Accès aux données
    Réponses: 1
    Dernier message: 15/09/2006, 13h30
  3. Réponses: 3
    Dernier message: 03/08/2006, 16h38

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