IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [résolu] problème de base_url dans un fichier php appelé en ajax
Options
toluol
posté 29 Jul 2016, 20:58
Message #1


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 792
Inscrit : 14 Nov 2003
Lieu : Genève
Membre no 11 656



Bonjour, j'ai un petit souci tout bête pour accéder à un fichier php.

j'ai cette hiérarchie :
Code
- index.html
    - dossier1
        - ajax.php
    - dossier2
        - include.php


Depuis "ajax.php" qui est appelé en javascript par index.html, je souhaite inclure "include.php", mais les noms de dossier peuvent changer... (du coup très difficile dans mon projet de faire du chemin relatif du genre ../../../dossier2/include.php car la hiérarchie peut être complexe.) Pourtant depuis ajax.php, je connais le chemin depuis la racine du site (dossier2/include.php) Comment puis-je l'inclure correctement ?

puis-je redéfinir une base-url dans mon fichier ajax pour simuler qu'on soit à la racine ? inclure le fichier avec le nom de domaine ?

Ce message a été modifié par toluol - 30 Jul 2016, 14:51.
Go to the top of the page
 
+Quote Post
No6
posté 30 Jul 2016, 12:28
Message #2


Oui ?
*****

Groupe : Membres
Messages : 3 889
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224




../dossier2/include.php ne marche pas ????

tu peux utiliser $_SERVER ou $_FILES

http://php.net/manual/fr/reserved.variables.server.php

http://php.net/manual/fr/reserved.variables.files.php

pour reconstruire le chemin complet...

Ce message a été modifié par No6 - 30 Jul 2016, 12:38.


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
toluol
posté 30 Jul 2016, 12:39
Message #3


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 792
Inscrit : 14 Nov 2003
Lieu : Genève
Membre no 11 656



En fait, je l'ai le chemin complet... Mais depuis la racine du nom de domaine, et non depuis le fichier ajax appelé.
Comment penserais-tu utiliser les variables $_SERVER...

Pour l'instant, depuis mon fichier ajax, j'ai fait un truc compliqué pour calculer en relatif, le nombre de répertoire qu'il y a jusqu'à la racine... et y ajouter x fois "../"

Code
$dirname = dirname(__FILE__);
$http_host = strstr($_SERVER['HTTP_HOST'] , '.', true);
$relative_root = str_repeat( '../', sizeof(explode("/",strrchr($dirname,$http_host.'/'))));
include($relative_root . $include_path);


mais j'ai un peu peur que ça ne fonctionne pas partout, ou bien que ça compte un mauvais nombre de répertoires pour une raison x ou y...

Ce message a été modifié par toluol - 30 Jul 2016, 12:41.
Go to the top of the page
 
+Quote Post
No6
posté 30 Jul 2016, 14:33
Message #4


Oui ?
*****

Groupe : Membres
Messages : 3 889
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



$_SERVER["PHP_SELF"] par exemple.

il y a des exemples sur :
http://stackoverflow.com/questions/4645082...-current-script

Je ne suis pas vraiment rentré dans ton code car je perçois mal ta question

ou alors utilise la fonction getcwd() ??
http://php.net/manual/fr/function.getcwd.php


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
toluol
posté 30 Jul 2016, 14:51
Message #5


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 792
Inscrit : 14 Nov 2003
Lieu : Genève
Membre no 11 656



En fait j'ai trouvé, je crois !
Pour inclure un fichier dans un fichier appelé en ajax dont on sait le chemin uniquement absolu, il faut utiliser $_SERVER['DOCUMENT_ROOT']

Code
include($_SERVER['DOCUMENT_ROOT'].'/dir1/dir2/include.inc.php');


Tu avais donc raison avec $_SERVER. Merci.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 19th March 2024 - 06:32