Mais perso je n'en vois pas l'interet... surtout que ça ne marche pas si tu as des alias sur ton serveur... c'est qu'une ligne à changer donc je préfère laisser ça tel quel... au moins c'est fiable... .. .
Le problème à vouloir tout faire dynamiquement c'est que d'une part ça ne marche pas toujours et que d'autre part on gaspille des resources pour rien... quel interet de sortir 10 lignes de codes là ou 1 ligne suffit... aucun hormis une pseudo satisfaction du "tout dynamique"... la ligne de code tu la modifie quand tu change de serveur de la même façon que tu modifis tes identifiants de connection à la base de données... c'est pas pour ce que c'est à faire... .. .
Après chacun fait comme il l'entend... .. . ;o)
@ tchaOo°
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 23 nov. 2006 à 23:51
kankrelune ta soluce est effectivement bien pensée ... l'inconvénient est qu'il faut reconfigurer ton fichier header.php à chaque fois que tu installe l'appli sur un autre serveur ... l'idée serait d'automatiser sa configuration :)
CyberMen30
Messages postés152Date d'inscriptiondimanche 31 août 2003StatutMembreDernière intervention 8 novembre 2007 23 nov. 2006 à 18:54
Merci, je vais regarder ca attentivemement
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 23 nov. 2006 à 18:50
Perso je trouve que vous vous prenez la têteuuu... .. .
Dans votre fichier de configuration ou le header de votre site ou n'importe quel fichier inclu par tous vos script vous mettez... en admettant que ce fichier soit à la racine de votre site... .. .
Voila... où que vous soyez vous n'avez qu'a inclure 1 fichier en relatif (ici header.php) après vous utilisez les constantes qui vous donnent toujours le bon path ou url... .. .
C'est aussi simple que ça... je vois pas l'interet de faire une fonction pour ça... c'est plus se compliquer la vie qu'autre chose et ça marche même pas à tous les coups... .. .
@ tchaOo°
CyberMen30
Messages postés152Date d'inscriptiondimanche 31 août 2003StatutMembreDernière intervention 8 novembre 2007 23 nov. 2006 à 15:52
Bonjour et merci pour vos conseil, je vais regarder ce que je pourrais faire avec vos suggestions.
cs_twisteurwin
Messages postés167Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention 2 mai 2009 23 nov. 2006 à 15:38
Salut all,
Alx2 >C'est un principe très basique que j'utilise pour charger un des thèmes graphiques défini dans une table de ma bdd.
- requete d'interrogation pour définir la var $chemin_theme qui associe le chemin relatif.
par exemple $chemin_theme contient ceci "../theme1/"
ex: affichage d'une image:
ex: avec un fichier php à inclure:
include_once($chemin_theme.'/pattern/header.php');
Vous avez testé avec $_SERVER['HTTP_HOST'] ?
bon courage +++
cs_Alx2
Messages postés32Date d'inscriptionmercredi 7 janvier 2004StatutMembreDernière intervention23 novembre 2006 23 nov. 2006 à 08:38
Personnellement, je définis une variable "$images" qui contient le chemin absolu vers mon dossier. Ensuite, j'appelle mes images comme ceci :
/image1.png" alt="Mon image" />
CyberMen30
Messages postés152Date d'inscriptiondimanche 31 août 2003StatutMembreDernière intervention 8 novembre 2007 22 nov. 2006 à 22:32
Y a vraiment pas de solution??? :-(
J'avais règler le problême en me faisant une deuxieme copie des fichier que j'allais chercher avec mes includes mais j'ai encore ce problême sauf que là, je devrais faire peut-etre 25 copies :-S
Ca me tente pas vraiment...complication en vue lors des mises a jour snifff
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 22 nov. 2006 à 20:38
Salut... ton idée est très intéréssante mais il semble que ça ne fonctionne pas ... je viens de tester et les images ne saffichent que dans "haut un (dans un même dossier) ...
pour les autres liens le chemin de l'image sort dans ce style
http://127.0.0.1/realpath%20en%20include/rubrique/realpath
je me suis aussi souvent posé la question pour ce même problème sans touver de soluce à ce jour ...simplement parce que un include est l'équivalent d'un copier coller du code à tel endroit ... et donc php ne tient pas compte du chemin du fichier à inclure ... donc dirname($_SERVER['PHP_SELF']) te donnera forcément le chemin du fichier où est inclu le script ... e pas celui du script ...
autre chose encore ... j'ai eu pas mal de problèmes avec $_SERVER['PHP_SELF'] pour ce genre de feintes et je me suis apperçu qu'il est plus sur d'utiliser 'SCRIPT_FILENAME', le chemin absolu vers le fichier contenant le script en cours d'exécution. (http://www.php.net/manual/fr/reserved.variables.php) l'idée est pourtant franchement intéréssante et vaut le coup d'être poussée ... p'tet créer une fonction include2 avec comme variable le chemin ...ce qui permettrait de le récupérer et de le comparer avec $_SERVER['SCRIPT_FILENAME'] pour en déduire le chemin réel et compatible quelque soit l'hébergeur ou la plateforme utilisée ... j'espère que ça te donera des idées !
@++
6 déc. 2006 à 10:50
27 nov. 2006 à 19:39
>> J'ai trouvé comment résoudre ce problème
hé non!
merci kankrelune, je cherchais une solution, je crois que je l'ai trouver.
26 nov. 2006 à 23:53
lool ! en fait c'est ça que j'adore ...
simple tic de béturant je l'avoue ;) sur le fond t'as raison ;)
++
24 nov. 2006 à 15:14
define('SITE_URL', 'http://'.$_SERVER['HTTP_HOST'].'/');
Mais perso je n'en vois pas l'interet... surtout que ça ne marche pas si tu as des alias sur ton serveur... c'est qu'une ligne à changer donc je préfère laisser ça tel quel... au moins c'est fiable... .. .
Le problème à vouloir tout faire dynamiquement c'est que d'une part ça ne marche pas toujours et que d'autre part on gaspille des resources pour rien... quel interet de sortir 10 lignes de codes là ou 1 ligne suffit... aucun hormis une pseudo satisfaction du "tout dynamique"... la ligne de code tu la modifie quand tu change de serveur de la même façon que tu modifis tes identifiants de connection à la base de données... c'est pas pour ce que c'est à faire... .. .
Après chacun fait comme il l'entend... .. . ;o)
@ tchaOo°
23 nov. 2006 à 23:51
23 nov. 2006 à 18:54
23 nov. 2006 à 18:50
Dans votre fichier de configuration ou le header de votre site ou n'importe quel fichier inclu par tous vos script vous mettez... en admettant que ce fichier soit à la racine de votre site... .. .
fichier : header.php
<?php
define('SITE_URL', 'http://www.monsite.ext/');
define('IM_URL', SITE_URL.'images/');
define('MAIN_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
define('INCLUDE_PATH', MAIN_PATH.'includes'.DIRECTORY_SEPARATOR);
define('CLASS_PATH', MAIN_PATH.'class'.DIRECTORY_SEPARATOR);
?>
Voila... où que vous soyez vous n'avez qu'a inclure 1 fichier en relatif (ici header.php) après vous utilisez les constantes qui vous donnent toujours le bon path ou url... .. .
ex: monrep/monsousrep/monfichier.php
<?php
require('..'.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'header.php');
require(INCLUDE_PATH.'monFichier.php');
require(CLASS_PATH.'maClass.php');
// du code
require(MAIN_PATH.'footer.php');
?>
C'est aussi simple que ça... je vois pas l'interet de faire une fonction pour ça... c'est plus se compliquer la vie qu'autre chose et ça marche même pas à tous les coups... .. .
@ tchaOo°
23 nov. 2006 à 15:52
23 nov. 2006 à 15:38
Alx2 >C'est un principe très basique que j'utilise pour charger un des thèmes graphiques défini dans une table de ma bdd.
- requete d'interrogation pour définir la var $chemin_theme qui associe le chemin relatif.
par exemple $chemin_theme contient ceci "../theme1/"
ex: affichage d'une image:
ex: avec un fichier php à inclure:
include_once($chemin_theme.'/pattern/header.php');
Vous avez testé avec $_SERVER['HTTP_HOST'] ?
bon courage +++
23 nov. 2006 à 08:38
/image1.png" alt="Mon image" />
22 nov. 2006 à 22:32
J'avais règler le problême en me faisant une deuxieme copie des fichier que j'allais chercher avec mes includes mais j'ai encore ce problême sauf que là, je devrais faire peut-etre 25 copies :-S
Ca me tente pas vraiment...complication en vue lors des mises a jour snifff
22 nov. 2006 à 20:38
pour les autres liens le chemin de l'image sort dans ce style
http://127.0.0.1/realpath%20en%20include/rubrique/realpath
je me suis aussi souvent posé la question pour ce même problème sans touver de soluce à ce jour ...simplement parce que un include est l'équivalent d'un copier coller du code à tel endroit ... et donc php ne tient pas compte du chemin du fichier à inclure ... donc dirname($_SERVER['PHP_SELF']) te donnera forcément le chemin du fichier où est inclu le script ... e pas celui du script ...
autre chose encore ... j'ai eu pas mal de problèmes avec $_SERVER['PHP_SELF'] pour ce genre de feintes et je me suis apperçu qu'il est plus sur d'utiliser 'SCRIPT_FILENAME', le chemin absolu vers le fichier contenant le script en cours d'exécution. (http://www.php.net/manual/fr/reserved.variables.php)
l'idée est pourtant franchement intéréssante et vaut le coup d'être poussée ... p'tet créer une fonction include2 avec comme variable le chemin ...ce qui permettrait de le récupérer et de le comparer avec $_SERVER['SCRIPT_FILENAME'] pour en déduire le chemin réel et compatible quelque soit l'hébergeur ou la plateforme utilisée ... j'espère que ça te donera des idées !
@++