Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1368 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Problème "\" et "/"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Problème "\" et "/"

n°1694995
Beral2
Posté le 29-02-2008 à 12:34:00  profilanswer
 

Bonjour tout le monde,
 
j'essaie de connaître le nom du répertoire parent d'un fichier (répertoire qui le contient), mais juste celui qui le contient, pas toute l'arborescence.
 
Pour cela je bidouille un peu :
 
 $chemin_et_fichier = (__FILE__);
 $repertoire_parent = substr(strrchr(dirname($chemin_et_fichier), '//'),1);
 
1. Je commence le PHP et ne connaît donc pas les fonctions existantes déjà implémentées, peut-être y a-t-il plus simple, oui ?
2. J'ai un problème avec les caractères "/" et "\". Lorsque cela marche sur ma bécane, cela ne marche plus après transfert du fichier sur le serveur et inversement. Problème, je pense, dû à la différence Unix/Windows des caractères de séparation des répertoires. Y aurait-il moyen de faire en sorte que cela marche des 2 côtés ?
 
Merci.


Message édité par Beral2 le 29-02-2008 à 13:07:58

---------------
Portfolio
mood
Publicité
Posté le 29-02-2008 à 12:34:00  profilanswer
 

n°1694997
leflos5
On est ou on est pas :)
Posté le 29-02-2008 à 12:42:30  profilanswer
 

Utilises que des /, des chemins absolus et y'aura pas de souci.  
 

n°1695002
FlorentG
Unité de Masse
Posté le 29-02-2008 à 12:50:09  profilanswer
 

leflos5 a écrit :

Utilises que des /, des chemins absolus et y'aura pas de souci.


Non. N'utilise que DIRECTORY_SEPARATOR, des chemins absolus, et y'aura pas de souci :D

n°1695004
Beral2
Posté le 29-02-2008 à 12:50:50  profilanswer
 

Oui mais là il y a un soucis justement, ce n'est pas moi qui décide du choix de ces caractères, (__FILE__) me retourne des "\" en local et des "/" sur le serveur distant.
Et quand je fais une recherche de caractères dans la chaîne renvoyée, forcément ça pose problème... un problème de configuration d'EasyPHP peut-être ?

n°1695007
FlorentG
Unité de Masse
Posté le 29-02-2008 à 12:52:23  profilanswer
 

Sinon avec dirname tu remontes d'un niveau, avec basename tu récupère la dernière partie. Ce qu'il te faut, c'est :

Code :
  1. $repertoire_parent = basename(dirname(__FILE__));

n°1695011
FlorentG
Unité de Masse
Posté le 29-02-2008 à 12:54:32  profilanswer
 

Beral2 a écrit :

Oui mais là il y a un soucis justement, ce n'est pas moi qui décide du choix de ces caractères, (__FILE__) me retourne des "\" en local et des "/" sur le serveur distant.


Y'a pas de soucis. C'est juste dépendant de l'OS. C'est pour ça que PHP définit la constante DIRECTORY_SEPARATOR qui contient le bon séparateur.  
 

Beral2 a écrit :

un problème de configuration d'EasyPHP peut-être ?


Non, pas de problème de config. Par contre dans un autre registre, je te déconseille fortement esayphp, qui est beaucoup trop vieux au niveau des versions. Utilise plutôt WAMP

n°1695021
Beral2
Posté le 29-02-2008 à 13:02:23  profilanswer
 

Parfait ce que tu me donnes FlorentG, j'utilisais basename pour la suite : $fichier = basename($chemin_et_fichier);
 
Je n'avais pas pensé que cela pouvait donner autre chose que le nom du fichier (nom d'un répertoire donc qd couplé avec dirname).
Beaucoup plus simple que mon moisi $repertoire_parent = substr(strrchr(dirname($chemin_et_fichier), '//'),1);
 
Sinks à vous.
 
Je regarde qd-même DIRECTORY_SEPARATOR


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Problème "\" et "/"

 

Sujets relatifs
[Résolu] Problème de variable qui veut pas sortir d'une fonction.[RESOLU]Probleme ELSE
Problème de random en C++ [Résolu][RESOLU] problème avec $_SERVER['HTTP_REFERER'] et Flash
[résolu] Petit problème de Thread[Resolu ] Probleme CSS assez inexplicable : Espace blanc avec IE7
[ Résolu ] problème de lien sur partition[Java][Appli web] Problème avec ejbjar [Résolu]
[Résolu] Serveur html en soket TCPproblème de fond sous ie7 (encore un =P) [résolu]
Plus de sujets relatifs à : [Résolu] Problème "\" et "/"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR