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

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

墨辰丷
墨辰丷Original
2018-06-01 17:24:111654Durchsuche

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

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 )

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

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

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

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

include("conn.php")

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

🎜>

Eine Ihrer Seiten enthält diese Aussage:

include(&#39;/inc/sql.php&#39;);
include(&#39;/inc/conn.php&#39;);

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

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!

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