4 Stimmen

Wie binde ich eine Textdatei in PHP als PHP ein, ohne sie auf der Seite anzuzeigen?

Ich erstelle mir eine Webseite, die einfach bei Seitenaufruf zu einer der anderen Websites aus einer Liste weiterleitet. Um die Liste der Websites einfacher bearbeiten zu können, habe ich die Liste in ein separates Textdokument verschoben. Beim Einbinden der Datei in den PHP-Code wechselt der Browser jedoch zwischen HTML- und PHP-Code hin und her, wenn das Include beendet ist. Dadurch wird mein Code stattdessen auf dem Bildschirm gedruckt anstatt ausgeführt. Ich kann keine PHP-Header und Tags innerhalb der Textdatei implementieren, da dies den Zweck ihrer externen Speicherung zunichte machen würde. Aktuell habe ich ein weiteres Skript, mit dem ich Links zur Datei hinzufügen kann, wenn ich sie hinzufügen möchte.

index.php, die Datei, mit der ich arbeite

sites.txt, die eingebundene Datei

    "http://www.nsa.gov/"
    ,"http://www.youtube.com/watch?v=oHg5SJYRHA0"
    ,"http://leekspin.com/"

Gibt es eine Möglichkeit, die Textdatei einfach in index.php einzufügen, ohne sie auf dem Bildschirm anzuzeigen?

9voto

zizozu Punkte 491

Sie sollten nicht!

Analysieren Sie es als Text (z. B. durch Entfernen des Inhalts von Leerzeichen und Aufteilen durch Kommas) oder, weniger bevorzugt, machen Sie den Inhalt zu einem PHP-Code und fügen Sie ihn dann ein mit include.

Das Parsen einer TXT-Datei als Text

Sie sollten wahrscheinlich dabei bleiben, die Datei als Text zu analysieren - Sie können die file()-Funktion dafür verwenden. file() liest die gesamte Datei und gibt ihren Inhalt als Array von Zeilen zurück (mit noch angehängten Zeilenumbrüchen). Sie können mit solchen Daten tun, was Sie brauchen (z. B. entfernen Sie Kommas und Leerzeichen).

PHP-Code innerhalb der eingeschlossenen Datei

Wenn Sie das erstere wählen (einschließen von PHP-Code in der TXT-Datei, was keine gute Idee ist, wenn Sie sites.txt öffentlich zugänglich machen möchten), dann sollten Sie versuchen, den globalen Namensraum nicht zu verunreinigen. Dies können Sie durch die Lösung erreichen, die in anderen Antworten erwähnt wurde:

  • in sites.txt:

`* In Ihrem Skript:

`

`

Die schlechteste Lösung - eval()

Nur aus Informationsgründen eingefügt. Wenn Sie einen PHP-Code in Ihrer TXT-Datei haben, können Sie eval() verwenden, um ihn als PHP-Code zu analysieren. Aber denken Sie daran - eval() ist böse, vermeiden Sie es um jeden Preis.

`` ```

1voto

Jakub Punkte 20232

Was Sie wollen, ist die PHP-Funktion parse_ini_file():
http://php.net/manual/en/function.parse-ini-file.php

Sie können dann ganz einfach Ihre Liste in einer separaten Datei verwalten und sie als Array importieren, um sie ohne viel Aufwand zu verwenden.

1voto

Jim Jose Punkte 1279

Vorschlag:

Halten Sie Ihre "sites.txt" so,

und dann, "index.php"

1voto

Ravi Punkte 707

Sie mischen Code mit Daten. Die txt-Datei ist nur txt. Was Sie tun müssen, ist, sie in einem Klartextformat zu speichern. Da es nur ein Feld gibt, empfehle ich eine flache Datei, die durch Leerzeilen getrennt ist.

Sitenames.txt:

site1.com
site2.org
site3.net

Der PHP-Code zum Abrufen der Dateien:

$siteList = file('/path/to/Sitenames.txt');

Dann können Sie beliebige Operationen mit der abgerufenen Liste durchführen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X