Include contenant des images et autres fichiers

Soyez le premier à donner votre avis sur cette source.

Vue 9 711 fois - Téléchargée 520 fois

Description

En créant un site, on a tendance à faire des includes de fichiers contenant le haut du site ou le bas du site. Ces fichiers contiennent généralement des images ou fichier css, donc avec le chemin qui change, on ne peut pas les inclure de n'importe où. J'ai trouvé comment résoudre ce problème.
Au début de votre fichier qui sera inclus, vous devez ajouter un code qui va trouver automatiquement le bon chemin, puis créer la variable qui sera à utiliser.
Je mets la partie importante du code ici, mais le mieux est de télécharger le zip pour bien comprendre.

Source / Exemple :


//Si votre fichier est à la racine
$path_ap = explode("/",strtolower(dirname($_SERVER['PHP_SELF'])));
$real_path = explode("\\",dirname(realpath(__FILE__)));
//print_r($path_ap);
//print_r($real_path);
 
$j = 1; $chemin = "";
while(!($path_ap[1] != $real_path[1]))$j++;

for($i=$j+2;$i<count($path_ap);$i++){
 $chemin .= "../";
}
 
DEFINE("chemin", $chemin);
//////////////////////////////////////////////////////////////////

//Si votre fichier est dans un dossier cela diffère légérement
$path_ap = explode("/",strtolower(dirname($_SERVER['PHP_SELF'])));
$real_path = explode("\\",dirname(realpath(__FILE__)));
 
$j = 1; $chemin = "";
while(!($path_ap[1] != $real_path[1]))$j++;

for($i=$j+2;$i<count($path_ap);$i++){
 $chemin .= "../";
}
if($chemin)$i--;
for($i;$i<count($real_path);$i++){
 $chemin .= "$real_path[$i]/";
}
 
DEFINE("chemin", $chemin);
//////////////////////////////////////////////////////////////////

Conclusion :


See ya & have fun (comme d'hab :P)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
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 :)
Afficher les 12 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.