8722 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

QuentinC a écrit :

Ah oui, c'est vrai que c'est un piège courant ça.... tu es dans ./a/b.php, tu veux inclure ./c/d.php, alors tu écris tout naturellement ../c/d.php et ça marche pas, parce que le répertoire courant est ./, conséquence du fait que le point d'entrée unique du CMS est ./index.php. Dans le toute, afficher le retour de getcwd ou construire des chemins relatifs qui marchent en tout temps grâce à $_SERVER['PHP_SELF'], dirname et basename.


Ou préférer les chemins absolus (et moins se prendre la tête).
Salut

lorsque j'utilise un site avec plusieurs répertoires, j'utilise un variable PHP dans laquelle je met le chemin relatif pour retourner à la racine de mon site

dans l'appelant \branche\br2\br3\truc.php

$repcpx='../../';
include ($repcpx.'menu.php');

et dans menu (qui est à la racine du site)

<ul id="menu">
<li><a href="<?php echo $repcpx; ?>index.php">accueil</a>.</li>
<li><a href="<?php echo $repcpx; ?>rep1/index.php">première branche</a>


Il faut dire qu'avant j'avais en plus un menu par branche (niveau branche) et un sous menu (dans br2 par exemple) et non plus un menu général comme maintenant (niveau racine)

Et comme j'utilise mes sites sur deux ordinateurs n'ayant pas du tout la même architecture de moteur PHP avant de les mettre en ligne, voir dans le train sans réseau, les chemins absolus sont justes totalement proscrits dans mon cas... A part une ou deux images que je m'autorise à ne pas voir en "local".

Et il ne faut pas oublier qu'en cas d'include dans le fichier inclus, ce dernier doit être à partir de la position du fichier inclus et non plus de l'appelant

Dans mon menu.php (à la racine donc)

include_once "outils/outils1.php";


C'est un sacré piège ce dernier point
Les chemins absolus n'alourdissent-ils pas les tâches des serveurs ? - Je ne me serais jamais posé cette question il y a encore quelques temps, mais il semblerait qu'il n'y a pas de petites économies pour obtenir au bout du compte un site web qui a du punch, je veux dire dont les pages s'ouvrent rapidement.

Merci à vous tous pour votre aide !
franckh a écrit :
Les chemins absolus n'alourdissent-ils pas les tâches des serveurs ? - Je ne me serais jamais posé cette question il y a encore quelques temps, mais il semblerait qu'il n'y a pas de petites économies pour obtenir au bout du compte un site web qui a du punch, je veux dire dont les pages s'ouvrent rapidement.


Oublie les micro-optimisations, on n'est pas en 1985 et les machines actuelles ne sont pas des Amstrad CPC. Chemins relatifs ou absolus ça ne change absolument rien au niveau des performances.
Modifié par FraiseTagada99 (30 Jun 2014 - 15:02)
Pages :