Heim >Backend-Entwicklung >PHP-Problem >Der Unterschied zwischen relativen Pfaden und absoluten Pfaden in PHP

Der Unterschied zwischen relativen Pfaden und absoluten Pfaden in PHP

王林
王林Original
2019-09-17 13:04:344030Durchsuche

Der Unterschied zwischen relativen Pfaden und absoluten Pfaden in PHP

Schauen wir uns zunächst die Verzeichnisstruktur unseres Beispiels und den Inhalt dieser drei Dateien an.

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

Die d.php-Datei im c-Verzeichnis verweist auf die b.php-Datei im übergeordneten Verzeichnis, wenn c/d.php allein ausgeführt wird. Problem: Wenn a.php im selben Verzeichnis wie b auf c/d.php verweist, liegt ein Problem vor und es wird ein Fehler gemeldet, der besagt, dass die Datei nicht existiert.

Denken:

Es bedeutet wahrscheinlich, dass nach der Einführung von c/d.php in a.php „../b“ eingefügt wird path php‘ ist relativ zu a.php und der relative Pfad zu a.php existiert nicht, daher tritt dieses Problem auf. Bei der Verwendung relativer Pfade kann es recht leicht zu Problemen kommen, wenn an mehreren Stellen auf eine Datei verwiesen wird. Dieses Problem können wir dann leicht durch die Verwendung absoluter Pfade lösen.

Verwenden Sie absolute Pfade, um das Problem zu lösen

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

Auf diese Weise wird auf den absoluten Pfad der Datei verwiesen, __DIR__ ist eine vordefinierte magische Konstante, die seit PHP5.3 verfügbar ist und das Verzeichnis angibt, in dem sich diese Datei befindet. Anschließend können wir damit den absoluten Pfad schreiben, was beim Ausführen von a.php und c/d möglich ist .php Es wird normal ausgeführt. Wenn vor php5.3 dirname(__FILE__) anstelle von __DIR___ verwendet wurde.

Zusammenfassung: In PHP bezieht sich der absolute Pfad auf den absoluten Speicherort unter dem Verzeichnis, der direkt zum Zielspeicherort führt. Normalerweise basiert der Pfad auf dem Laufwerksbuchstaben auf einer Referenz. Suchen Sie die benötigte Datei, d. h. der relative Pfad ist relativ zum Zielverzeichnis.

Der obige Inhalt dient nur als Referenz!

Empfohlenes Tutorial: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen relativen Pfaden und absoluten Pfaden in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn