Lister les fichiers d'un répertoire distant (sur un NAS) en PHP

Lister les fichiers d'un répertoire distant (sur un NAS) en PHP - PHP - Programmation

Marsh Posté le 01-08-2011 à 10:05:34    

Bonjour,
 
Je rencontre une difficulté un peu inattendue en PHP : je voudrais lister les répertoires et fichiers situés sur un répertoire distant (exactement, sur un NAS Synology). J'utilise Wamp, installé sur Vistra, dans C:\Wamp\. Si je lance un script via le navigateur web, pas de pb pour lister des répertoires sur C:\ ou D:\ (donc en dehors du /www/). Alors, je peux comprendre que de lister des répertoires avec un chemin en \\diskstation\... puisse poser pb. mais même en montant sur le lecteur Z:\ le NAS, ça marche pas :(
 
J'ai essayé avec glob, scandir, readdir : rien ne marche. Et avec fopensocket, le pb est le n° de port : seul le 80 est ouvert sur le NAS mais c'est pas pour accéder aux répertoires du NAS...
 
J'ai même essayé avec la commande Tree de Windows, lancée via system() en php, mais comme le répertoire contient des accents, ça marche pas :( Le é est remplacé par une virgule dans le chemin... :/
 
Quelqu'un aurait une idée, svp?
 
A la limite, vous connaîtriez un utilitaire sous Windows en version portable qui permettrait d'être appelé en ligne de commande et lister les fichiers d'un répertoire (voire les sous répertoires aussi) et dont la sortie se ferait dans un fichier txt, svp?
 
Merci :jap:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 01-08-2011 à 10:05:34   

Reply

Marsh Posté le 01-08-2011 à 11:06:23    

Il me semble que pas mal de NAS ont un serveur web et sont en général capables d’exécuter du PHP.
 
Tu ne pourrais pas plutôt mettre ton script directement sur le NAS ?


---------------
Mon Feedback !
Reply

Marsh Posté le 01-08-2011 à 12:10:26    

Le pb sera le même, je doit récupérer des infos sur le PC qui exécute le script php :/
 
Et en mettant le script php sur le NAS, ça sera dans le www, qui ne verra pas les répertoires où sont stockés les fichiers je pense...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 01-08-2011 à 16:51:55    

Le script dans le www devrait fonctionner.
Si je prends mon serveur, tout ce que j'ai dans mon home est en 644 pour les fichiers et 755 pour les dossiers. Sauf les fichiers sensibles qui sont en 600.
Donc l'utilisateur apache peut tout à fait naviguer et lire ce que j'ai dans mon home.
 
Ça te permettrait donc d'établir ta liste.
Ensuite, si tu as vraiment besoin d'accéder à cette liste à partir d'ailleurs, tu peux très bien faire en sorte de la retourner en JSON par exemple. Ça te ferait un mini webservice REST en gros.


---------------
Mon Feedback !
Reply

Marsh Posté le 01-08-2011 à 17:04:59    

Oui, je vois mais franchement, je préfèrerais grandement pouvoir lister le contenu d'un répertoire distant monté via un lecteur réseau sur un PC windows :/ Dans le cas présent, c'est un NAS sur lequel j'ai la main, mais c'est rarement le cas courant.
 
Je voudrais donc avoir une solution où le script php tourne en local sur le PC windows. Merci :jap:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-08-2011 à 13:19:10    

J'avais trouvé un script qui utilisait la classe Dir et qui fonctionnait bien à mon boulot avec un répertoire monté en local depuis un NAS. Je pensais avoir résolu mon pb, mais pas de chance, le même script ne marche pas chez moi :( Je commence à me demander si mon pb ne serait pas système et viendrait de la façon dont est monté mon répertoire en local chez moi...
 
Ca viendrait du protocole réseau utilisé? dans ce cas, quelle marge de manoeuvre j'ai?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-08-2011 à 17:09:44    

c'est probablement le cas, j'ai jamais eu ce problème quand j'ai eu à le faire sous Linux, après avoir fait le montage avec "mount". Je pense qu'il faut chercher "samba share php" dans google pour trouver des solutions tel que http://www.phpclasses.org/browse/file/20566.html


---------------
Aimer les femmes intelligentes est un plaisir de pédéraste. (Charles Baudelaire) - Vous vulgarisez :o (Jean-Kevin Dubois)
Reply

Marsh Posté le 07-08-2011 à 10:59:34    

Merci, je vais regarder ça. Cela dit, comme dit précédemment, à mon boulot, avec une lib de base de PHP, et ce sous, Windows XP, j'ai pu lister le contenu d'un répertoire provenant d'un NAS et dont le répertoire était monté via net use sur la lettre Z:, donc même cas de figure que chez moi, et là, ça marchait :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 13-08-2015 à 17:39:35    

Reply

Marsh Posté le 27-10-2015 à 17:36:34    


 
 
Up quoi? oO


---------------
Topic de ventes
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed