Heim >Backend-Entwicklung >PHP-Tutorial >Problem mit dem relativen PHP-Pfad

Problem mit dem relativen PHP-Pfad

巴扎黑
巴扎黑Original
2016-11-22 16:51:231278Durchsuche

Beim Anfordern oder Einbinden einer Datei in PHP werden meist relative Pfade verwendet, was Kopfschmerzen bereitet.

Zum Beispiel:

d33960d65abb73911b33db45e19cd446(Website-Stammverzeichnis)

├72d4ced2cc960a6bc2541984146fdaaaOrdner

│ │

│ └1.php

├9368c5823948a595f9974a5e2b3bd3f1Ordner

│ │

│ └2.php

└ Index .php

Problem: In 1.php wird include („../B/2.php“) verwendet, um die 2.php-Datei im B-Verzeichnis einzuführen; index. In PHP wird include („A/1.php“) verwendet, um die 1.php-Datei in das A-Verzeichnis einzufügen.

führt natürlich zu Problemen beim Ausführen, und die ../B/ 2.php-Datei kann nicht gefunden werden.

Denken Sie an ein Prinzip: Alle Include-Anweisungen werden schließlich basierend auf dem Include-Dateipfad in Include-Pfade umgewandelt. Es wird empfohlen, einen Basispfad als Referenz für alle Pfade zu verwenden, z. B. __FILE__ oder $_SERVER['DOCUMENT_ROOT ' ]

__

FILE__: (geeignet für verschiedene Situationen)

Konfigurieren Sie das Site-Stammverzeichnis in der Konfigurationsdatei

define( "WEB_ROOT ", dirname(__FILE__ ) ) ;

Die Konfigurationsdatei wird im Stammverzeichnis der Website abgelegt.
Andere Dateien enthalten Konfigurationsdateien. Suchen Sie diese einfach nach WEB_ROOT.
require_once( WEB_ROOT . "/a.php " );


$_SERVER['DOCUMENT_ROOT'], geeignet für Situationen mit nicht virtuellen Hosts (Alias)

PHP-Code

<?php  
if (!defined("WETSITE_BASE_DIR"))  
define("WETSITE_BASE_DIR", $_SERVER[&#39;DOCUMENT_ROOT&#39;].&#39;/Clare/&#39;);      
require_once(WETSITE_BASE_DIR.&#39;includes/global.inc.php&#39;);  
?>
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
Vorheriger Artikel:PHP liest AD-BenutzerNächster Artikel:PHP liest AD-Benutzer