Maison >développement back-end >Problème PHP >La différence entre les chemins relatifs et les chemins absolus en php

La différence entre les chemins relatifs et les chemins absolus en php

王林
王林original
2019-09-17 13:04:344100parcourir

La différence entre les chemins relatifs et les chemins absolus en php

Tout d’abord, jetons un coup d’œil à la structure des répertoires de notre exemple et au contenu de ces trois fichiers.

a.php

<?php
 
    include &#39;./c/d.php&#39;

b.php

<?php
 
    define(&#39;__B&#39;, &#39;this is a test&#39;);

c/d .php

<?php
 
    include &#39;../b.php&#39;;
 
    var_dump(__B);

Le fichier d.php sous le répertoire c fait référence au fichier b.php sous son répertoire parent Lors de l'exécution de c/d.php seul, aucune erreur ne se produira. Problème, cependant, si a.php dans le même répertoire que b fait référence à c/d.php, il y aura un problème, et il signalera une erreur indiquant que le fichier n'existe pas.

Réflexion :

Cela signifie probablement qu'après que a.php ait introduit c/d.php dans a.php, incluez '../b. path php' est relatif à a.php, et le chemin relatif vers a.php n'existe pas, donc ce problème se produit. Il est assez facile de causer des problèmes lors de l'utilisation de chemins relatifs lorsqu'un fichier peut être référencé à plusieurs endroits, et nous pouvons alors facilement résoudre ce problème en utilisant des chemins absolus.

Utilisez des chemins absolus pour résoudre le problème

a.php

<?php
    include __DIR__.&#39;/../b.php&#39;;
    var_dump(__B);

b. php

<?php
 
    define(&#39;__B&#39;, &#39;this is a test&#39;);

c/d.php

<?php
 
    define(&#39;__B&#39;, &#39;this is a test&#39;);

De cette façon, le chemin absolu du fichier est référencé, __DIR__ est une constante magique prédéfinie disponible depuis php5.3, indiquant le répertoire où se trouve ce fichier. Nous pouvons ensuite l'utiliser pour écrire le chemin absolu, ce qui peut être fait lors de l'exécution de a.php et c/d. .php Il est exécuté normalement Si avant php5.3, dirname(__FILE__) était utilisé à la place de __DIR___.

Résumé : En php, le chemin absolu fait référence à l'emplacement absolu sous le répertoire, qui atteint directement l'emplacement cible, généralement le chemin commençant à partir de la lettre de lecteur est basé sur le chemin relatif ; sur une référence. Recherchez le fichier dont vous avez besoin, c'est-à-dire que le chemin relatif est relatif au répertoire cible.

Le contenu ci-dessus est à titre de référence uniquement !

Tutoriel recommandé : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn