[résolu] problème de base_url dans un fichier php appelé en ajax |
Bienvenue invité ( Connexion | Inscription )
[résolu] problème de base_url dans un fichier php appelé en ajax |
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. |
|
|
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) |
|
|
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. |
|
|
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) |
|
|
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. |
|
|
Nous sommes le : 23rd April 2024 - 07:51 |