J'ai écrit une application en php et j'aurais souhaité que cette application
puisse fonctionner indépendamment du système sur lequel elle tourne.
Or cette application manipule certains fichiers contenu dans des répertoires
définis par l'administrateur dans un fichier de configuration.
Par Ex :
Dans le fichier de conf :
$dir=/tmp/mon_appli/mon_dir;
Dans la page :
$filename="mon_fichier";
$file=$dir."/".$filename;
Pour Mac ou Linux etc... aucun problème, par contre pour Windows ca se gate
puisque si :
$dir=c:\tmp\mon_appli\mon_dir
et que
$filename="mon_fichier";
$file=$dir."/".$filename;
alors
fopen($file,"r") ne fonctionnera pas puisque
$file vaut c:\tmp\mon_appli\mon_dir/mon_fichier
Voici donc mes questions :
- Existe t-il un moyen de détecter le "path separator" à la manière de
Java ?
- Si non, un moyen de détecter l'O.S sur lequel tourne l'appli ?
J'ai googlé sans succès, les variables $_ENV ou $_SERVER ne contiennent pas
ces infos.
phpinfo() Arrive a déterminer l'O.S, j'imagine donc qu'une autre commande
doit pouvoir le faire.
Cependant peut-être me goure-je dans ma façon de contourner le problème.
Vos conseils et/ou liens sont les bienvenus.
--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Le 05 Oct 2007 18:07:09 GMT, doug713705 écrivait dans fr.comp.lang.php:
Bonjour à toutes, tous,
J'ai écrit une application en php et j'aurais souhaité que cette application puisse fonctionner indépendamment du système sur lequel elle tourne.
Or cette application manipule certains fichiers contenu dans des répertoires définis par l'administrateur dans un fichier de configuration.
Pour Mac ou Linux etc... aucun problème, par contre pour Windows ca se gate puisque si :
$dir=c:tmpmon_applimon_dir et que $filename="mon_fichier"; $file=$dir."/".$filename;
alors fopen($file,"r") ne fonctionnera pas puisque $file vaut c:tmpmon_applimon_dir/mon_fichier
Avant de poser la question, pourquoi tu n'as pas essayé ?
/ et fonctionnent tous les deux dans Windows, du moins dans ceux que j'ai essayé (je suis à Windows 98).
La seule vraie difficulté, c'est en mode invite (prompt ou command.com) car / sert en DOS à séparer les arguments:
dir c:windows /s
mais
ls /home/compte -ali
mais fopen ("c:windows/win.ini", "r"); devrait fonctionner sous Windows.
Denis
Mihamina Rakotomandimby
Denis Beauregard wrote:
Avant de poser la question, pourquoi tu n'as pas essayé ?
Sur ce post en particulier, je me permet de réagir: - Il n'a pas forcément les deux OS sous la main. - Il ne sait pas si ça marche sur ses machine à cause de sa conf, il peut etre interessant de savoir si il faut une conf particulière (il ne le savait pas avant ton post)
Denis Beauregard wrote:
Avant de poser la question, pourquoi tu n'as pas essayé ?
Sur ce post en particulier, je me permet de réagir:
- Il n'a pas forcément les deux OS sous la main.
- Il ne sait pas si ça marche sur ses machine à cause de sa conf, il
peut etre interessant de savoir si il faut une conf particulière (il ne
le savait pas avant ton post)
Avant de poser la question, pourquoi tu n'as pas essayé ?
Sur ce post en particulier, je me permet de réagir: - Il n'a pas forcément les deux OS sous la main. - Il ne sait pas si ça marche sur ses machine à cause de sa conf, il peut etre interessant de savoir si il faut une conf particulière (il ne le savait pas avant ton post)
Bruno Desthuilliers
Bonjour à toutes, tous,
J'ai écrit une application en php et j'aurais souhaité que cette application puisse fonctionner indépendamment du système sur lequel elle tourne.
Or cette application manipule certains fichiers contenu dans des répertoires définis par l'administrateur dans un fichier de configuration.
Il existe déjà pas mal d'applis opensource en PHP. A-tu pensé à regarder
comment elles géraient ce problème ?
Bonjour à toutes, tous,
J'ai écrit une application en php et j'aurais souhaité que cette application
puisse fonctionner indépendamment du système sur lequel elle tourne.
Or cette application manipule certains fichiers contenu dans des répertoires
définis par l'administrateur dans un fichier de configuration.
Il existe déjà pas mal d'applis opensource en PHP. A-tu pensé à regarder
J'ai écrit une application en php et j'aurais souhaité que cette application puisse fonctionner indépendamment du système sur lequel elle tourne.
Or cette application manipule certains fichiers contenu dans des répertoires définis par l'administrateur dans un fichier de configuration.
Il existe déjà pas mal d'applis opensource en PHP. A-tu pensé à regarder
comment elles géraient ce problème ?
doug713705
Le vendredi 5 octobre 2007 21:37, Denis Beauregard s'est exprimé de la sorte sur fr.comp.lang.php :
Avant de poser la question, pourquoi tu n'as pas essayé ?
J'ai essayé
mais fopen ("c:windows/win.ini", "r"); devrait fonctionner sous Windows.
Effectivement, le problème venait d'un autre bout de mon code mais je m'étais arrêté à la première cause probable.
Cependant, j'aurais bien voulu savoir s'il était possible d'identifier l'O.S du serveur par un bout de code PHP mais je n'ai rien trouvé. Cela pourrait être utile dans d'autres cas.
Merci de ton aide.
-- [ Plus ou moins avec une chance de peut-être ] - Pour me contacter, enlever nospam (2X) -
Le vendredi 5 octobre 2007 21:37, Denis Beauregard s'est exprimé de la sorte
sur fr.comp.lang.php :
Avant de poser la question, pourquoi tu n'as pas essayé ?
J'ai essayé
mais fopen ("c:windows/win.ini", "r"); devrait fonctionner sous
Windows.
Effectivement, le problème venait d'un autre bout de mon code mais je
m'étais arrêté à la première cause probable.
Cependant, j'aurais bien voulu savoir s'il était possible d'identifier l'O.S
du serveur par un bout de code PHP mais je n'ai rien trouvé.
Cela pourrait être utile dans d'autres cas.
Merci de ton aide.
--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -
Le vendredi 5 octobre 2007 21:37, Denis Beauregard s'est exprimé de la sorte sur fr.comp.lang.php :
Avant de poser la question, pourquoi tu n'as pas essayé ?
J'ai essayé
mais fopen ("c:windows/win.ini", "r"); devrait fonctionner sous Windows.
Effectivement, le problème venait d'un autre bout de mon code mais je m'étais arrêté à la première cause probable.
Cependant, j'aurais bien voulu savoir s'il était possible d'identifier l'O.S du serveur par un bout de code PHP mais je n'ai rien trouvé. Cela pourrait être utile dans d'autres cas.
Merci de ton aide.
-- [ Plus ou moins avec une chance de peut-être ] - Pour me contacter, enlever nospam (2X) -
Mickael Wolff
Cependant, j'aurais bien voulu savoir s'il était possible d'identifier l'O.S du serveur par un bout de code PHP mais je n'ai rien trouvé.
Mais le paramètre de configuration perso de l'application qu'on laisse à la discrétion de la personne qui installe, c'est pas mal non plus et c'est le plus simple.
a++; JG
- Existe t-il un moyen de détecter le "path separator" à la manière de
Java ?
http://fr2.php.net/manual/en/ref.dir.php
Mais le paramètre de configuration perso de l'application qu'on laisse à
la discrétion de la personne qui installe, c'est pas mal non plus et
c'est le plus simple.
Mais le paramètre de configuration perso de l'application qu'on laisse à la discrétion de la personne qui installe, c'est pas mal non plus et c'est le plus simple.
a++; JG
doug713705
Le lundi 8 octobre 2007 09:19, Marc s'est exprimé de la sorte sur fr.comp.lang.php :
phpinfo() Arrive a déterminer l'O.S, j'imagine donc qu'une autre commande doit pouvoir le faire.