Bonjour à tous, Smiley smile

Ma question se trouve dans le titre lol

Est-ce que pour un serveur, c'est plus rapide de charger un élément (fichier css, image dans un répertoire donné du site, page dans un répertoire donné du site) en mettant un chemin relatif plutôt qu'un chemin absolu. Ou bien c'est strictement la même chose ??? Smiley murf

Merci d'avance de vos réponses ! Smiley biggrin
Modifié par Pandore (23 Mar 2006 - 21:27)
A partir d'un serveur, je dirais que le chemin relatif est plus rapide. Surtout si l'absolu commence par http:// auquel cas les langages serveur comme php ne réagissent pas du tout de la même manière.

Pour un client (navigateur), je dirais que c'est égal ou bien que l'absolu est plus rapide à quelques ms de différence.
Merci de ta réponse QuentinC

Mais il y a un truc que je ne comprends pas bien ...

a écrit :
Surtout si l'absolu commence par http://

Un chemin absolu ne commence pas toujours par http:// ???
Pour toi, /dossier/fichier.php est-il un chemin relatif ou absolu ? j'ai un doute tout à coup... mais en tout cas ce n'est pas totalement relatif.
Administrateur
Si cela commence par / , c'est un chemin absolu car cela fait référence à la racine du site et non plus au répertoire courant. Mais ça n'utilise peut-être pas les mêmes fonctions/bibliothèques qu'avec http://
Felipe > C'est bien ce qui me semblais.
Mais de toute façon, l'appel à un URL commençant par http:/ nécéssite plus de temps étant donné que le serveur doit envoyer une reuqête vers un autre serveur. Par contre, pour le reste, il n'a qu'à lire sur son disque ...
Oki doki Felipe, c'est noté Smiley smile

Sinon, j'ai eu le même raisonnement que toi QuentinC, je me suis dit que si le chemin commençait par http://, ça devait être plus long puisqu'il devait "passer" par le net pour trouver un élément qui est hébérgé chez lui ! ça semblait logique mais je n'étais pas sûr.

Je crois que je vais utiliser les chemins absolus commençant par / , ça me semble la solution la plus adaptée pour ce que je veux faire^^

Encore merci pour vos interventions à tous les deux, je pense que le sujet est "résolu" Smiley biggrin
Fais attention avec la signification des URLS commençAnt par / en php. Le répertoire racine en php n'est pas forcément le même que celui dont on accède en HTTP. Je sais pas si je me fais comprendre ...
Je crois que je comprends à peu près ce que tu veux dire car j'ai quelques problèmes déjà en local avec easyphp justement (j'ai pas encore testé ça sur le serveur).

J'ai une adresse dans la barre du navigateur qui m'affiche http://127.0.0.1/Site%20web%202/fr/page-bannieres-fr.php

Je pensais mettre / pour acceder à la racine du site mais je dois mettre /Site%20web%202 pour que ça marche ...

C'est bien de ça dont tu veux parler ???
Modifié par Pandore (23 Mar 2006 - 22:35)
Oui, plus ou moins. C'est pour cela qu'il ne faut jamais utiliser le / directement dans des include ou autres instructions faisant appel à un fichier côté serveur. La plupart des serveurs ont en effet un dossier de base nommées souvent /var/www ou /var/web ou /var/site, ...
Tu peux obtenir plus d'informations sur ce dossier racine un peu particulier en consultant la valeur de la variable $_SERVER['DOCUMENT_ROOT']. Pour easyphp sous windows, c'est en règle générale le chemin depuis la lettre de lecteur qui s'y trouve (genre C:\Easyphp1.8\www\)
J'ai fait comme tu m'as dit un <?php echo $_SERVER['DOCUMENT_ROOT']; ?>

En local, j'obtiens ça :

a écrit :
c:/program files/easyphp1-8/www


Et en ligne, j'obtiens ça :

a écrit :
/kunden/homepages/2/d143398224/htdocs


Je ferais un test ce soir, mais si je te comprends bien, dans mon cas, il faut que je remplace le " / " par " /kunden/homepages/2/d143398224/htdocs/ " , c'est bien ça ???
Pandore a écrit :
dans mon cas, il faut que je remplace le " / " par " /kunden/homepages/2/d143398224/htdocs/ " , c'est bien ça ???

Remplace-le directement par
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
Oui, c'est pas con ça lol : comme ça je pourrais avoir la même page en local ET en ligne sans faire de modifications Smiley biggrin

J'essaierais ça ce soir, merci pour cette remarque djfeat Smiley cligne
Peut-être juste ne pas faire d'echo direct de cette variable... je pensais plutôt à :
include("{$_SERVER['DOCUMENT_ROOT']}/dossier/fichier.php");
Oki doki QuentinC, je ne connassais pas cette manière de coder (avec les { } ) Smiley smile

hummm ... en ligne ça à l'air de fonctionner vu que tout s'affiche correctement Smiley biggrin , par contre en local, ça ne fonctionne pas ... Smiley decu

Bon je vais créer un nouveau topic pour expliquer plus en détail le problème car là on déborde légèrement du sujet du topic initial Smiley lol .

A tout de suite ! Smiley cligne