Posez votre question Signaler

Parcour dossier reseau PHP [Résolu]

consfox - Dernière réponse le 4 avril 2008 à 11:00
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.
Lire la suite 

Parcour dossier reseau PHP »

8 réponses
Réponse
+1
moins plus
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...
Ajouter un commentaire
Réponse
+1
moins plus
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://nicoblog.net/index.php?2005/09/08/265-apache-et-lecteurs-reseau-windows

En espérant avoir avancé la résolution du problème.
Ajouter un commentaire
Réponse
+0
moins plus
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. :)
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
JIMRINX - 4 avril 2008 à 09:29
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
Ajouter un commentaire
Réponse
+0
moins plus
bonjour,
si tu es sous windows moi j aurais mis des \ au lieu des / dans ton script pour tes chemins.
Ajouter un commentaire
Ce document intitulé « parcour dossier reseau PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?