Aktueller Standort: Startseite> Neueste Artikel> So ändern Sie den enthaltenen Pfad in PHP: get_include_path () und set_include_path ()

So ändern Sie den enthaltenen Pfad in PHP: get_include_path () und set_include_path ()

gitbox 2025-05-29

Bei der Entwicklung von PHP -Anwendungen ist es häufig erforderlich, Code -Module zwischen mehreren Verzeichnissen zu organisieren und wiederzuverwenden. Um Aussagen wie Einschlüsse , Erfordernisse und andere Aussagen zu aktivieren, um diese Module korrekt zu finden, bietet PHP Get_include_path () und set_include_path () Funktionen, um die enthaltenen Pfade flexibel zu verwalten. In diesem Artikel wird die Verwendung dieser beiden Funktionen und praktischen Anwendungsszenarien ausführlich vorgestellt.

1. Get_include_path (): Holen Sie sich den aktuell enthaltenen Pfad

get_include_path () wird verwendet, um die Einstellungen der Pfad für den aktuellen PHP zu erhalten. Der Einschlusspfad ist eine Liste von Verzeichnissen, in denen PHP nach den enthaltenen Dateien sucht.

Beispiel

 echo get_include_path();

Die Ausgabe ähnelt wie folgt:

 .:/usr/local/lib/php

Dies bedeutet, dass PHP zuerst nach der Datei im aktuellen Verzeichnis ( . ) Sucht und dann in /usr/local/lib/PHP danach sucht.

2. SET_INCLUDE_PATH (): Setzen Sie einen neuen Include -Pfad

Verwenden Sie set_include_path () , um den PHP einzuschließen. Diese Funktion akzeptiert eine Zeichenfolge, die eine neue Pfadliste darstellt, und die Verzeichnisse werden durch Systempfadabschlüsse verbunden (Kolons auf UNIX/Linux -Systemen :, Semikolonen unter Windows ; ).

Beispiel: Fügen Sie ein benutzerdefiniertes Verzeichnis hinzu, um den Pfad einzuschließen

 $customPath = '/var/www/html/includes';
set_include_path(get_include_path() . PATH_SEPARATOR . $customPath);

Dieser Code fügt das Verzeichnis /var/www/html/enthält Verzeichnis basierend auf dem vorhandenen Pfad.

3. Praktische Anwendung: Modulare Entwicklung

Angenommen, wir haben eine öffentliche Funktionsdateifunktionen.php , die im Verzeichnis /var/www/html/libs platziert ist. Um diese Datei in das Hauptprogramm aufzunehmen, können wir dies tun:

 set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/html/libs');

include 'functions.php';

Durch das Einstellen des Include -Pfades müssen wir in jeder Datei keine relativen oder absoluten Pfadreferenzmodule verwenden, wodurch die Lesbarkeit und Wartbarkeit des Codes verbessert wird.

4. Verwenden Sie stream_resolve_include_path (), um zu bestätigen, ob die Datei enthalten sein kann

Um zu bestätigen, ob eine Datei über den aktuellen Include -Pfad gefunden werden kann, können Sie die Funktion stream_resolve_include_path () verwenden:

 $file = 'config.php';
$resolvedPath = stream_resolve_include_path($file);

if ($resolvedPath !== false) {
    echo "Dateispeicherort: $resolvedPath";
} else {
    echo "Datei kann nicht gefunden werden $file";
}

5. Verwenden Sie in Verbindung mit URLs (z. B. einschließlich Remotedateien über fopen)

Es ist zu beachten , dass diese Methode jedoch in den tatsächlichen Produktionsumgebungen normalerweise nicht empfohlen wird, obwohl dies in den tatsächlichen Produktionsumgebungen nicht empfohlen wird. Wenn Sie es verwenden möchten, können Sie dies tun:

 $url = 'http://gitbox.net/includes/config.php';
include $url;

Damit diese Remote -Einbeziehung ordnungsgemäß funktioniert, muss die Einstellung zulässt_url_include eingeschaltet werden (Standard wird aus Sicherheitsgründen ausgeschaltet).

Es kann in php.ini modifiziert werden:

 allow_url_include = On

Oder dynamisch durch Code einstellen:

 ini_set('allow_url_include', '1');

6. Zusammenfassung

  • Verwenden Sie Get_include_path (), um die aktuellen Einstellungen der Pfadeinstellungen anzuzeigen.

  • Verwenden Sie set_include_path () , um Pfade dynamisch hinzuzufügen oder zu ändern, wodurch die Codemodularität bequem ist.

  • Zusammen mit stream_resolve_include_path () können Sie überprüfen, ob die Datei gefunden werden kann.

  • Obwohl eine Ferneinschluss unterstützt wird, sollte es mit Vorsicht verwendet werden und das lokale Pfadmanagement sollte bevorzugt werden.

Durch die Verwendung dieser Funktionen kann die strukturelle Klarheit und Wartbarkeit von PHP -Projekten erheblich verbessert werden.