[PHP] Vérifier existence d'un fichier sur le PC

Zirael

Habitué
Bonjour, dans le cadre d'une interface de gestion de machines , je dois controler l'etat d'avancement de certains fichiers qui sont enregistré dans un répertoire SPOOL qui se trouves lui meme sur le réseau.
J'aurais souhaité vérifier l'existence du fichier concerné comme premier test afin de validé l'etat de marche de la machine.
Cet interface est intégré dans l'intranet de l'usine et le fichier cité est accessible depuis le server sur lequel l'intranet est installé.

Donc afin de testé l'existence je fais :

A noter que les requetes SQL sont bonnes. Le nom du fichier est correctement monté ( correspond a data['Nom']). Et le repertoire de SPOOL( correspond a data['Repertoire']) est noté de la manière suivante :

[cpp]\\\\computer\rep\sousrep1\SPOOL\C280208 [/cpp]
Jai aussi tenter
[cpp]\\computer_name\rep\sousrep1\SPOOL\C280208 [/cpp]
[cpp]//computer/rep/sousrep1/SPOOL/C280208 [/cpp]
mais en vain


voila le petit bout de code

[cpp]
// tant que pas fini de lire le tableau
while($data = mysql_fetch_array($req))
{

// afficher le nom de la machine avec en le lien image en HREF déterminant son emplacement dans l'usine.
echo '<td><a href='.$data['Emplacement'].'>'.$data['Nom'].'</a></td>';

// On monte la date et l'heure d'aujourdh'ui ( cela me sert pour mes tests futurs
$date_courante = date("dmy");
$heure_courante = date("G-i-s");

// Je recupere le nom et je le concatene avec la date pour avoir le nom du fichier ( il n'ya pas d'extension sur ce fichier , elle est mise a la fin de la journée, et le fichier que je cherche a ouvrir existe bel et bien).
$filename = $data['Nom'].$date_courante;

// Je donne le cheminement de filename
$path=$data['Repertoire'].$filename;

//Je fais le test d'existence
if (file_exists($path)) { print "Le fichier $filename existe";} else { print "Le fichier $filename n'existe pas ou n'est pas accesible";}
}
[/cpp]

Donc je sais que le fichier existe et cela vient surement d'un probleme d'acces. Cependant un reprenant le chemin que j'indique dans mon programme ( en faisant un echo ....) je tombe bien dans le répertoire.

En espérant une aide ^^ , je cherche aussi activement de mon coté.
Cordialement

Zirael
 

Zirael

Habitué
Alors c'est un client Novell fonctionnant avec WinServ2003.
Et j'ai mis mon chemin par "\\" ou "\\\" car il s'agit d'un acces sur un lecteur réseau qui n'est pas sur le meme server que l'intranet.
 

sisier

Grand Maître
Je ne sais pas comment tu remplis ta variable.

Mais essait peut être de doubler tes \ .... car c'est un caractère d'échappement.
 

Zirael

Habitué
J'ai deja essayé =/ et apperement c'est un probleme d'acces lié avec php ( Avec une autre fonction en donnant le meme path , je recois une erreur 2 me disant No such file or directory ).... je vais essayer de mettre des quotes autour du chemin , on sait jamais , je re-éditerais ci cela marche.
 

Zirael

Habitué
Les quotes ne marchent pas :cry:
Je me demande si il est possible d'accéder sur un répertoire en réseau... Mais normalement je pense que oui vu la description de la fonction.
 

sisier

Grand Maître
Normalement, ca devrait marché.

Sinon,
euuuh et en montant un lecteur windows?
y a pas moyen de contourner le problème?

 

Zirael

Habitué
Apperement ceci viendrait d'un probleme de configuration du server IIS que j'utilise. un compte guest mis en acces qui ne serait pas compatible avec les droits Novell que je souhaite exploiter.


Voici le post originel que j'ai trouvé la dessus :

bvazquez at siscomx dot com
04-Jul-2007 06:13
If you are trying to access a Windows Network Share you have to configure your WebServer with enough permissions for example:

$file = fopen("\\siscomx17\c\websapp.log",'r');

You will get an error telling you that the pathname doesnt exist this will be because Apache or IIS run as LocalSystem so you will have to enter to Services and configure Apache on "Open a session as" Create a new user that has enough permissions and also be sure that target share has the proper permissions.

Hope this save some hours of research to anyone.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 055
Membres
1 586 282
Dernier membre
Yannick3553
Partager cette page
Haut