INCLUDE CONTENANT DES IMAGES ET AUTRES FICHIERS

cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 - 22 nov. 2006 à 20:38
kilomaster Messages postés 130 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 6 décembre 2006 - 6 déc. 2006 à 10:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40427-include-contenant-des-images-et-autres-fichiers

kilomaster Messages postés 130 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 6 décembre 2006
6 déc. 2006 à 10:50
j'aime
bj33 Messages postés 145 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 1 mai 2012
27 nov. 2006 à 19:39
salut

>> J'ai trouvé comment résoudre ce problème

hé non!

merci kankrelune, je cherchais une solution, je crois que je l'ai trouver.
cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 2
26 nov. 2006 à 23:53
hormis une pseudo satisfaction du "tout dynamique".

lool ! en fait c'est ça que j'adore ...
simple tic de béturant je l'avoue ;) sur le fond t'as raison ;)
++
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
24 nov. 2006 à 15:14
La seule chose à configurer c'est l'url de ton site... tu peux toujours faire...

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°
cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 2
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és 152 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 8 novembre 2007
23 nov. 2006 à 18:54
Merci, je vais regarder ca attentivemement
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 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... .. .

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°
CyberMen30 Messages postés 152 Date d'inscription dimanche 31 août 2003 Statut Membre Derniè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és 167 Date d'inscription mardi 21 septembre 2004 Statut Membre Derniè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és 32 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 23 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és 152 Date d'inscription dimanche 31 août 2003 Statut Membre Derniè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és 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 2
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 !
@++
Rejoignez-nous