|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Salut,
Je rencontre encore un problème pour le moins bizarre, je suis abonné Dans une classe php5), je désire créé un fichier xml (mise en cahce), donc je me sers de file_put_contents() pour l'enregister, et là php m'indique que le chemin vers le répertoire est invalide. Donc, je fait un test avec is_dir et en effet, celui-ci me retourne false, incompréhension totale, je fait un test avec ce même is_dir dans la page où est instanciée ma classe, et là c'est ok, ça me retourne true.... Je regarde les valeurs de $_SERVER de chaque côté(dans la classe, et hors de celle-ci), et rien d'anormal.... J'exécute donc un cd, et là je vois le problème. Sur ma page courante, j'ai bien la racine du site D:\web, tandis qu'à l'intérieur de ma classe, j'ai le répertoire d'apache C:\Server\Apache\Apache2 Je comprend pas du tout pourquoi j'obtiens ceci dans ma classe, et surtout comment je pourrais résoudre cet étrange phénomène A l'aide !! En espérant que quelqu'un pourra m'apporter une réponse. Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
J'ai trouvé comment résoudre le problème.
En fait, le script de création de mon xml était dans une fonction en private que j'appelais dans mon destructeur. Et le blème était là. J'ai donc procédé autrement. Mais pourquoi le répertoire courant du site est ignoré dans un __destruct() ? Pourquoi les fonctions de fichiers se retrouve avec un chemin situé dans le répertoire d'apache au lieu de la racine du site définie dans le httpd.conf dans un __destruct() ? Merci de ne pas me laisser dans mon ignorance, car c'est quand même bizarre cette réaction. |
|
|
00
|
|
|
#3 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Auriez-vous un code minimal pouvant reproduire ce problème ? C'est toujours intéressant de comprendre mais personnellement j'y verrais plus clair si je pouvais tester avec du code
![]() Vous ne changez jamais de répertoire (par exemple avec chdir, cd, ...) ? Aucune particularité à signaler au niveau de votre code comme de votre environnement ? |
|
|
00
|
|
|
#4 | ||||
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Oui, voilà
Non, je ne fait aucun appel Je viens de faire un test avec un truc tout simple. (sur windows) Code PHP :
Avec un répertoire test au même niveau d'arborescence que le script. Et en fait en l'état, c'est parfaitement correct, par contre si je n'appelle pas la fonction testDIR() dans mon constructeur, c'est là que ça ne fonctionne plus. C'est en faisant ce test que je m'en suis aperçu. Donc en laissant comme ceci, j'obtiens: Citation:
Citation:
|
||||
|
|
00
|
|
|
#5 | |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Au moins, je suis rassuré, ça ne vient pas d'un problème spécifique à ma config
J'avais oublié de préciser mes versions. apache 2.0.58 et php 5.2 Merci d'avoir effectué le test. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com