Problème Localisation Fichier

Manu di bango Messages postés 3 Date d'inscription vendredi 4 mai 2007 Statut Membre Dernière intervention 5 mai 2007 - 4 mai 2007 à 19:21
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 - 5 mai 2007 à 19:42
Tout d'abord un grand bonjour à tout le monde,

alors voilà, j'utilise la fonction filemtime sur un fichier. Son emplacement est sur une serveur distant. Le serveur PHP est sous Windows, et le serveur distant est Server 2003... bref, du tout Microsoft (sauf PHP . )

Le chemin que je précise dans mon cas est le suivant :

\\Oleron\Helios\.PowerFolder\.PowerFolder.db

Donc, dans mon PHP, j'ai le code suivant :

$file_synchro_nantes = "\\\\Oleron\\Helios\\.PowerFolder\\.PowerFolder.db";
filemtime($_file_synchro_nantes);

nickel, tout marche super...

On vient de trocker le server 2003 contre un Ubuntu Samba...

Le paramétrage du Ubuntu Samba est correct, partage ok, les clients XP n'y voient que du feu...

Seulement voilà, apparemment le chemin UNC que j'utilise n'est plus bon, et ma fonction se met en erreur. J'utilise aussi la fonction scandir, même problème...

J'opte pour une erreur dans la syntaxe donnant l'emplacement de mon fichier, mais normalement le Samba devrait "berner" le serveur Windows PHP, tout comme il le fait avec les autres stations XP...

comprend pas...

merci merci pour votre aide

4 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
4 mai 2007 à 19:47
Salut...

Fallait rester sous windows ! (non, je déconne).

Bon, tu t'en rendra vite compte : sous Linux les séparateurs sont des '/' (contrairement au '\' de windows)... L'intérêt étant d'éviter d'utiliser un caractère d'échapement pour autre chose qu'échaper ! (puis c'est plus rapide à taper sur un azerty).

Cherche de ce coté...

Note : '\\avec\de\simples\apostrophes\pas\besoin\de\doubler\les\antislashes'

A+
0
Manu di bango Messages postés 3 Date d'inscription vendredi 4 mai 2007 Statut Membre Dernière intervention 5 mai 2007
4 mai 2007 à 19:57
mais pourtant mon serveur php est bien sous windows... normalement il devrait comprendre son propre format... ceci dis, j'ai effectivement essayé avec des / au lieu des \ mais rien n'y fait...

En revanche, je sais pas si c'est lié mais je pense que ça peut aiguiller : J'ai le bout de code suivant :

$filename = '\\\\Oleron\\Helios\\Test\\Test.txt';
   if (file_exists($filename))
    {    print "Le fichier $filename existe";}
   else
    {    print "Le fichier $filename n'existe pas";}






Et les résultats sont surprennant :

Dans la cas ci-dessus, tout marche bien. Il s'agit du server Windows 2003.
Si filename = 'H:\\Test\\Test.txt', là ça ne fonctionne pas. Le H: est un lecteur mappé sur '\\Oleron\Helios' (donc toujours le server 2003).
En revanche, si filename = 'C:\\Test\\Test.txt', ça fonctionne. C: représente un disque local.
Et enfin, si filename = '\\\\SmbSRV\\Helios\\Test\\Test.txt', et bien ça ne fonctionne pas. Ici il s'agit du serveur linux Samba...

ça m'échappe
0
Manu di bango Messages postés 3 Date d'inscription vendredi 4 mai 2007 Statut Membre Dernière intervention 5 mai 2007
5 mai 2007 à 19:30
arf, c'est réglé, j'ai trouvé la solution ici

http://forum.hardware.fr/hfr/Programmation/PHP/soucis-php-sous-sujet_76584_1.htm



C'est une question de droits d'accès avec Apache...




damned...
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
5 mai 2007 à 19:42
damned... Le genre de "bug" qui rend fou, pour rien!!!
0
Rejoignez-nous