Parcour dossier reseau PHP
Résolu
consfox
-
soignisec -
soignisec -
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.
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:
- Parcour dossier reseau PHP
- Dossier appdata - Guide
- Partager un dossier en reseau local - Guide
- Impossible de supprimer un dossier - Guide
- Entrer les informations d'identification reseau - Guide
- Le message n'a pas été envoyé car le service n'est pas activé sur le réseau - Forum Xiaomi
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.
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.
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...
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...
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. :)
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. :)
bonjour,
en effet je n'ais pas de code.
ensuite j'appele ma fonction
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.
voilà tout le code.
merci de votre aide
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
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
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
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
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
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
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