Include contenant des images et autres fichiers

Soyez le premier à donner votre avis sur cette source.

Vue 9 630 fois - Téléchargée 503 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
Messages postés
130
Date d'inscription
mercredi 2 janvier 2002
Statut
Membre
Dernière intervention
6 décembre 2006

j'aime
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012

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.
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
29 mars 2015
3
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 ;)
++
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

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°
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
29 mars 2015
3
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.