begin process at 2012 05 27 21:49:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > INCLUDE CONTENANT DES IMAGES ET AUTRES FICHIERS

INCLUDE CONTENANT DES IMAGES ET AUTRES FICHIERS


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Classé sous :include, inclure, chemin, image, css Niveau :Débutant Date de création :22/11/2006 Vu / téléchargé :8 403 / 350

Auteur : Linkman

Ecrire un message privé
Site perso
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 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

  • //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);
  • //////////////////////////////////////////////////////////////////
//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)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip UPLOAD FICHIER MULTIMANIA RÉGLAGE DE LA TAILLE

 Sources de la même categorie

SUPPRESSION AUTOMATIQUE DES FICHIERS RAW ORPHELINS APRÈS UN ... par malokaff
UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
FONCTION RECURSIVE DE DOSSIERS par tefa24600
Source avec Zip CONVERSION DES UNITÉS INFORMATIQUE (O, KIO, MIO, GIO, TIO...... par genetApt151

 Sources en rapport avec celle ci

REDIMENSIONNEMENT D'IMAGE PHP par JStevens
EXEMPLE D'APPLICATION DE L'ALGORITHME DE DIJKSTRA EN PHP par philtr8
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip DÉCOMPOSER UN CODE PHP AVEC LA FONCTION INCLUDE par Julien39
Source avec Zip Source avec une capture GESTIONNAIRE DE NEWS BASIQUE AVEC UPLOAD D'IMAGES par cod57

Commentaires et avis

Commentaire de caviar le 22/11/2006 20:38:34

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 !
@++

Commentaire de CyberMen30 le 22/11/2006 22:32:53

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

Commentaire de Alx2 le 23/11/2006 08:38:01

Personnellement, je définis une variable "$images" qui contient le chemin absolu vers mon dossier. Ensuite, j'appelle mes images comme ceci : <br />
<img src="<?=$images?>/image1.png" alt="Mon image" />

Commentaire de twisteurwin le 23/11/2006 15:38:54

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:
<img src="'.$chemin_theme.'/images/image.png" title="blabla" alt="blabla" />
  ex: avec un fichier php à inclure:
include_once($chemin_theme.'/pattern/header.php');

Vous avez testé avec $_SERVER['HTTP_HOST'] ?

bon courage +++

Commentaire de CyberMen30 le 23/11/2006 15:52:57

Bonjour et merci pour vos conseil, je vais regarder ce que je pourrais faire avec vos suggestions.

Commentaire de kankrelune le 23/11/2006 18:50:39

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°

Commentaire de CyberMen30 le 23/11/2006 18:54:04

Merci, je vais regarder ca attentivemement

Commentaire de caviar le 23/11/2006 23:51:50

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 :)

Commentaire de kankrelune le 24/11/2006 15:14:47

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°

Commentaire de caviar le 26/11/2006 23:53:03

[quote]hormis une pseudo satisfaction du "tout dynamique".[/quote]
lool ! en fait c'est ça que j'adore ...
simple tic de béturant je l'avoue ;) sur le fond t'as raison ;)
++

Commentaire de bj33 le 27/11/2006 19:39:33

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.

Commentaire de kilomaster le 06/12/2006 10:50:28

j'aime

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Probleme avec le CSS /HTLml [ par nmfac ] SVP je n'arrive pas a afficher mon image avec cette balise. je ne sais pas si c'est le chemin d'accèes a l'image ki est faux ? je crois pa Ajout de lien vers doc pdf pour image zommer [ par maxredphenix ] Bonjour a tous, j'ai créer une page web dans lequel j'ai mis une image avec un code en javascript pour zoomer que j'ai pris sur cette page (qui d'ail aide tinyMCE + MCimagemanager [ par neoramc ] Bonjour, je viens d'installer imagemanager sur un tinyMCE, mais je n'arrive pas, lors de l insertion d'image, à ce que tinyMCE garde le chemin absolu Variable dans css [ par shadow578 ] Bonjour, Voilà j'ai un css qui m'affiche une image de fond. Ensuite j'ai un php, ou se place un formulaire et j'aimerai que quand on envoie le formula upload d'une image [ par distar ] Bonjour à tous, Je voulais savoir si quelqu'un avait une source qui permet d' uploader une image dans un dossier sur le serveur mais aussi de relever galerie image [ par djbabou ] Bonjour à tous ... Me revoici sur codes sources avec une nouvelle quesion: J'ai développé une galerie d'image très simple en pure css/html. En fait, inclure CSS dans un plug in [ par jimdano ] Bonjour, Je suis en train de créer un plug in, et j'aimerais inclure une feuille de style dans ce plug in, le probleme, c'est que je n'y arrive pas, Probleme de CSS pour un blog [ par Ilsundal ] Bonjour,je suis en train de coder un petit blog pour mon site personnel, mais j'ai un gros probleme, quand je met l'image en align=left (donc en flota un liens image qui change l'include de la page [ par hadesD ] Bonjours, je souhaite faire plusieurs liens image qui change l'include de ma page principale(le corps de ma page pour être preci),je essaye plusieurs aide css [ par yoyo77yo ] bonjour, J'ai une feuille php avec un div (que j'ai nommée "contenutableau")qui contient un tableau : je demande au div de flotter à droite avec une


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales