Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erklärung zur Verwendung der Funktion set_include_path() in PHP

Detaillierte Erklärung zur Verwendung der Funktion set_include_path() in PHP

墨辰丷
Freigeben: 2023-03-29 10:20:02
Original
1717 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Verwendung der Funktion set_include_path() in PHP vorgestellt und die damit verbundenen Fähigkeiten von PHP für die Dateipfadeinstellung anhand von Beispielen analysiert. Freunde in Not können sich darauf beziehen.

Schauen Sie sich zunächst den folgenden Code an:

<?php
/** 定义根目录 */
define(&#39;__TYPECHO_ROOT_DIR__&#39;, dirname(__FILE__));
/** 定义插件目录(相对路径) */
define(&#39;__TYPECHO_PLUGIN_DIR__&#39;, &#39;/usr/plugins&#39;);
/** 设置包含路径 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . &#39;/var&#39; . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
?>
Nach dem Login kopieren

Zuerst:

Sehen wir uns diese globale Variable an: __FILE__

es stellt den vollständigen Pfad der Datei dar (natürlich einschließlich des Dateinamens)

Mit anderen Worten, es hat unterschiedliche Werte, je nachdem, in welchem ​​Verzeichnis sich Ihre Datei befindet Wenn es in einer Paketzeilendatei verwendet wird, ist der Wert natürlich der enthaltene Pfad:

Schauen wir uns diese Funktion an:

string dirname ( string path )
Nach dem Login kopieren

Es handelt sich um eine in PHP integrierte Funktion. Ihre Funktion besteht darin, das Verzeichnis außer dem Dateinamen zurückzugeben, zum Beispiel:

Wenn die Variable _FILE_ verwendet wird auf Ihrer Homepage:

(vorausgesetzt, Ihr Verzeichnis, in dem sich die Webseite befindet, ist: http://localhost/web/index.php), dann: Der Wert von

_FILE_ ist http:// localhost/web/index.php (ein absoluter Pfad). Zu diesem Zeitpunkt stellt Dirname (_FILE_) http://localhost/web/ dar, was bedeutet, dass es keinen Dateinamen index.php gibt.


Und dirname(dirname(_FILE_)) repräsentiert das Verzeichnis der oberen Ebene usw.

Schließlich:

Sehen Sie sich tatsächlich die Funktion define() an ist eine Funktion, die Konstanten definiert, wie zum Beispiel: define('MEN','ooooo');

Dann können Sie MEN verwenden, um die Zeichenfolge ooooo darzustellen.

Das ist der Vorteil Der Sinn des Schreibens besteht darin, dass Sie, wenn Sie eine Variable ändern müssen, diese nur ändern müssen, was sehr praktisch ist, insbesondere bei Zeichenfolgen wie Pfaden!

Das Folgende ist eine Erklärung dieses Codes:

define(&#39;__TYPECHO_ROOT_DIR__&#39;, dirname(__FILE__));
Nach dem Login kopieren

definiert __TYPECHO_ROOT_DIR__ als das Verzeichnis, in dem sich diese Datei befindet. Eine Definition wie Dies ist normalerweise das Verzeichnis, in dem sich config.inc.php befindet, wenn es in config.inc.php platziert wird.

define(&#39;__TYPECHO_PLUGIN_DIR__&#39;, &#39;/usr/plugins&#39;);
Nach dem Login kopieren

Unnötig zu sagen!

Was set_include_path(get_include_path() . PATH_SEPARATOR . $path); bedeutet, ist der Include-Pfad.

Wenn Sie beispielsweise einen Ordner mit dem Namen include haben, gibt es einen Datenbankverbindungsdatei darin:conn.php...,

Sie stellen es so ein:

set_include_path("/include")
Nach dem Login kopieren

Dann können Sie es direkt verwenden in Zukunft auf anderen Seiten

include("conn.php")
Nach dem Login kopieren

Wird das nicht oft gesehen? Seine Parameter sind Zeichenfolgen. Natürlich können Sie auch mehrere Pfade festlegen, die beispielsweise durch ; getrennt sind:

set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . &#39;/var&#39; . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
Nach dem Login kopieren

🎜>

Eine Ihrer Seiten enthält diese Aussage:

include(&#39;/inc/sql.php&#39;);
include(&#39;/inc/conn.php&#39;);
Nach dem Login kopieren

Und Sie haben plötzlich entdeckt, dass ich diese Dateien in das Inc-Verzeichnis aufgenommen habe. Das ist nicht der Fall Sicher zum Herunterladen. Was soll ich tun? Ich möchte es in das Include-Verzeichnis einfügen. Okay, es ist seltsam, wenn ich bei so vielen Seiten nicht erschöpft bin. haben! ! ! ! ! ! !

Schreiben Sie diesen Satz in config.inc.php:

set_include_path(get_include_path() .&#39;/include&#39;)
Nach dem Login kopieren

So einfach ist das, ja, so einfach! Dynamische Modifikation!

Sehen Sie sich das nicht an: get_include_path() . Das ist nur eine Pfadzeichenfolge, die eine Kombination darstellt der gerade definierten Konstanten in einen String, was bedeutet, dass er den Include-Pfad dynamisch festlegen kann! Wenn der enthaltene Pfad korrekt zurückgegeben wird, wird false zurückgegeben, wenn er falsch ist.

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist.

Verwandte Empfehlungen:

Detaillierte grafische Erklärung von Dateioperationen in PHP


php

Implementierung von einfache chinesische Methode zur Überprüfung der Codefunktion

Implementierung eines symmetrischen Verschlüsselungsalgorithmus in PHP


Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung zur Verwendung der Funktion set_include_path() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage