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 :

Accéder à un répertoire réseau


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 26
    Points
    26
    Par défaut Accéder à un répertoire réseau
    Bonjour,
    je développe depuis peu en PHP5.
    Je suis sur Windows XP SP3.
    Je dois lister le contenu d'un répertoire en PHP

    Ca fonctionne bien quand je suis sur mon disque local, mais pas en "lecteur réseau" (Je précise que j'ai bien les droits d'acces à ce répertoire réseau).

    Ex : j'ai mappé sur la machine windows hébergeant Apache, un lecteur réseau Z: vers le dossier partagé distant d'une autre machine, et avec des droits me permettant de lire le contenu de ce dossier partagé (j'y arrive avec l'explorateur).
    Mais mon script PHP me jette, il ne trouve pas le dossier Z: alors qu'avec C: ça fonctionne

    Merci de votre aide

    voici mon script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head><title>Lecture dossier DIFF PAD (Francis BLAINEAU - France 3 Sat 2009)</title></head>
     
    <body>
     
    <?php
     
    //$mydir = 'dossier/ou/sont/mes/fichiers''; 
    $mydir = 'Z:';
     if ($dir = @opendir($mydir)) 
     {
        while (($file = readdir($dir)) !== false) 
        {
          if($file != ".." && $file != ".")
           {
             $filelist[] = $file;
           }
        } 
    closedir($dir);
     }
     else {
     print("pas de dossier");
     exit();
     }
     
    // Tri
     if(sizeof($filelist) != '0') {
      sort($filelist);
     }
    // Affichage
    print ("<table>");
    for ($i = 0; $i < sizeof($filelist); $i++) {
    	print ("<tr><td> $filelist[$i] </td></tr>");
    	print ("</br>");
    }
    print ("</table>");
    ?>
    </body>
    </html>

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2009
    Messages : 54
    Points : 94
    Points
    94
    Par défaut
    Bonjour, est-ce que tu aurais une trace précise du message d'erreur retourné par le serveur web ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 26
    Points
    26
    Par défaut
    non, le log ne fait apparaitre auncune erreur.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 26
    Points
    26
    Par défaut
    En faisant des tests, je m'aperçois que j'accèdes à un lecteur réseau en écriture, et pas à celui en lecture seule, donc la solution serait je suppose de respecter la syntaxe en "lecture" au moment ou j'accede au dossier distant, à suivre...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 26
    Points
    26
    Par défaut
    Je ne trouve toujours pas de piste, quelq'un saurait me dire si je peux utiliser le context de Opendir pour signaler l'ouvrture du dossier distant en "lecture seule"
    Je ne comprends pas la doc sur ce sujet
    http://fr2.php.net/manual/fr/function.opendir.php

    Merci pour votre aide !

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 26
    Points
    26
    Par défaut
    Bon, voilà j'ai trouvé, avec l'aide de ce post (j'y ai mis la solution à la fin d'ailleurs : utiliser UNC et non les lecteurs réseau et s'assurer que le serveur Web a bien les droits d'acces au dossier partagé.

    Donc à ceux qui disent que Opendir ne fonctionne qu'en local, je dis non ! ça fonctionne aussi en UNC

    Merci
    http://www.developpez.net/forums/d78...au-vers-local/

    Merci à Sergejack pour la pertinence de sa réponse

    Frantz

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

Discussions similaires

  1. Comment accéder à un répertoire sous réseau ?
    Par Just-Soft dans le forum Langage
    Réponses: 2
    Dernier message: 02/02/2015, 10h32
  2. Réponses: 1
    Dernier message: 24/02/2014, 09h58
  3. Accéder au répertoire d'un réseau
    Par geekspirit dans le forum VB.NET
    Réponses: 3
    Dernier message: 12/10/2009, 16h28
  4. [C#]Accéder à un répertoire partagé sur une machine distante
    Par spaceclic dans le forum Windows Forms
    Réponses: 15
    Dernier message: 14/05/2007, 15h43
  5. Accéder à un répertoire distant
    Par cosmos38240 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 30/08/2004, 17h15

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