Parcour dossier reseau PHP

Résolu/Fermé
consfox - 10 juin 2004 à 16:43
 soignisec - 5 févr. 2016 à 17:28
bonjour,
je possède un script qui est capable de lister tout les repertoires et les fichiers à partir d'un dossier defini à l'avance.
Mon pb c'est que mon dossier doit etre sur un des disques physiques de mon serveur.
je voudrais savoir si il st possible de lister sur un disque reseau et la synthaxe (dir());car en connectant un lecteur reseau (win2000) ou en mettant le chemin complet (\\serveur\partage) ca ne marche pas.
merci de votre aide.
A voir également:

7 réponses

hello,

J'avais un probleme plus ou moins similaire que j'ai résolu :
Il s'agissait d'adresser un fichier situé sur le réseau à un object DCOM instancié depuis php
Après avoir galéré un certain temps j'ai trouvé la solution. Il faut en fait que le service apache soit associé à un compte spécifique du domain ayant les droits d'accès au serveur (me concernant j'ai créer un user exclusif pour apache)

ici ce trouve une bonne explication :
http://ww1.nicoblog.net

En espérant avoir avancé la résolution du problème.
2
Utilisateur anonyme
11 juin 2004 à 08:52
Salut,
Ton code ne fonctionnera que si le partage réseau est monté sur S: sur le serveur web, pas ton client. Est ce le cas? Apres, si ce n'est pas le cas, tu devras peut etre récupérer le protocole utilisé pour le partage Win2000, et l'utiliser pour parcourir tes partages, un peu comme en FTP. Mais vérifie d'abord que le partage est monté sur le serveur.
A ++

Fat_Cartman,
Parce que je le vaux bien...
1
Utilisateur anonyme
10 juin 2004 à 17:08
Salut,
Je serais tenter de dire "ca fonctionne". Mais comme tu ne mets aucun code, c'est impossible de confirmer.

Kalamit,
15 jours avant le soleil, la mer et les mouettes. :)
0
bonjour,
en effet je n'ais pas de code.
function parcoursRep($path,$i=1)
{
  $folder[$i] = dir($path);
  while($fichier = $folder[$i]->read())
    {
      // On ajoute une tabulation plus ou moins grande en fonction du niveau
      for($z=1;$z<=$i && $fichier != "." && $fichier != "..";$z++)
        echo "  ";

      // On vérifie si il s'agit d'un repertoire
      if(is_dir($path."/".$fichier) && $fichier != "." && $fichier != "..")
        {
          // Si oui, on ecrit le nom du repertoire
          echo "| <b>".$fichier."</b><br>\n";
          // On parcours le nouveau repertoire
          $sav_path = $path;
          $path .= "/".$fichier;
          parcoursRep($path,($i+1));
          $path = $sav_path;
        }
      else if($fichier != "." && $fichier != "..")
        {
          // Si non, on écrit le nom du fichier
          echo "| <a href='".$path."/".$fichier."'>".$fichier."</a><br>\n";
        }
    }
  $folder[$i]->close();
}
?>
ce code est l'oeuvre de Fabien DANIEL.

ensuite j'appele ma fonction
<?php
require 'parcour.php';
$path="c:";
parcoursRep($path,$i=1);
?>

ca sa marche super bien.
par contre si a la place de c: je met s:(lecteur reseau) ca ne marche plus de même que si je met \\serveur\partage.
Warning: dir(s:): failed to open dir: Invalid argument in c:\inetpub\wwwroot\test\parcour.php on line 4

Fatal error: Call to a member function on a non-object in c:\inetpub\wwwroot\test\parcour.php on line 5


voilà tout le code.
merci de votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
salut,
mon partege est bien monté sur, s:, sur mon serveur et de plus j'ai tout les droits reseaux(admin), mais ca ne marche pas.

merci de votre aide
0
Bonjour,

L'explication à cette adresse :
http://www.libre-astux.info/947/acces-a-un-lecteur-reseau-depuis-apache.html
Il faut modifier le paramétrage APACHE pour un compte windows ayant les droits d'accès au réseau
0
erf,
j'ai exactement le même problème pour l'accès des fichiers sur un serveur distant de mon réseau
j'ai refait mon script en VBA et il fonctionne très bien, ça doit être un pb lié à php
Si quelqu'un à une solution je suis preneur
0
Bonjour,

J'ai le même soucis, voilà un bout de temps que je recherche et peut être qu'il n'y a de solution !!!
Mais je vais présenter mon problème.
Sur un portail PHP (s'éxecutant sur un serveur A) voilà ce que je fais :
$destination = "//serveurB/Fichiers_pdf/";
$uploadOk = move_uploaded_file($nomTemporaire, $destination.$nomnew);
donc là je stocke des documents pdf sur un serveur B ($destination) ça, ça fonctionne.

Mon problème est comment à partir du portail PHP, ouvrir mes fichiers pdf avec un lien du genre :

echo "<td colspan='4'><a href='//serveurB/Fichiers_pdf/$fichier' target='_blank'><font size='3'>La Déclaration</font></a></td>";

ou un lecteur réseau ou ???

Merci d'avance des réponses soit pour une piste, soit pour une solution.

JiM
0
bonjour,
si tu es sous windows moi j aurais mis des \ au lieu des / dans ton script pour tes chemins.
0