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

王林
Libérer: 2023-02-24 09:32:01
original
4043 Les gens l'ont consulté

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;
Copier après la connexion

b.php

<?php
 
    define(&#39;__B&#39;, &#39;this is a test&#39;);
Copier après la connexion
Copier après la connexion
Copier après la connexion

c/d .php

<?php
 
    include &#39;../b.php&#39;;
 
    var_dump(__B);
Copier après la connexion

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);
Copier après la connexion

b. php

<?php
 
    define(&#39;__B&#39;, &#39;this is a test&#39;);
Copier après la connexion
Copier après la connexion
Copier après la connexion

c/d.php

<?php
 
    define(&#39;__B&#39;, &#39;this is a test&#39;);
Copier après la connexion
Copier après la connexion
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal