In PHP Text Abfrage aus einer Text datei machen?

... komplette Frage anzeigen

7 Antworten

In PHP werden normalerweise SQL Tabelle benutzt. Ich empfehle dir dort ein paar Tutorials anzuschauen wenn dein Server dazu in der Lage ist. Es ist zwar am Anfang etwas mehr Arbeit aber dadurch hättest du auch den Vorteil du könntest alles einfacher erweitern :) ausserdem ist ja auch iwi professioneller

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von lordTobiHD
29.11.2016, 16:45

Danke. Mit Mysql hab ich schon paar sachen gemacht. Habe einen VServer mit Debain 8. Ich werde mal schauen. Ich denke ich mache es mit SELECT.

Vielen Dank für die Schnelle Antwort.

LG lordTobiHD

0
Kommentar von Nenkrich
29.11.2016, 19:50

Klingt doch gut. Spätestens wenn du dem Usernamen mehrere werte zuteilen willst (echter name, beitrittsdatum, b-day, errungenschaften, in Foren abbonierte links/beiträge) wäre es mit ner TXT für alles kompliziert geworden

0

Kommt drauf an, wie die User in der Textdatei stehen, wenn sie z.B. jeder in einer Zeile stehen, könntest du das einfach in etwa so machen: 

<?php
$data = file('user.txt');
if (in_array($username, $data)) {
echo $username .' ist vorhanden';
}

Allerdings ist so eine Textdatei natürlich relativ unsicher, da jeder sie einsehen kann, der den Dateinamen kennt (oder errät), daher würde ich die Usernamen eher in einer Datenbank (MySQL / MariaDB, Postgre, SQLite) speichern.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von lordTobiHD
29.11.2016, 16:56

OK. Vielen Dank! Ich denke das werde ich machen.

0

In zwei Zeilen:

$datei = file_get_contents('users.txt');
$users=explode("\\\\r\\\\n",$datei);

Das liest die Datei ein und teilt sie dann an den Zeilenumbrüchen (Achtung: unterscheidet sich je nach Betriebssystem; s. https://de.wikipedia.org/wiki/Zeilenumbruch#ASCII ). Dann hast du ein Array mit Benutzern, die du dann einfach mit Schleife und if-Abfrage der Reihe nach überprüfen kannst.

Eine Anleitung dazu findest du auch auf http://www.php-kurs.com/dateien-mit-php-bearbeiten-und-besucherzaehler.htm und auf http://www.php-einfach.de/php-tutorial/php-datei/ .

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von AnonYmus19941
29.11.2016, 16:53

(oder mit array_search(); s. GanMar)

0

PHP erlaubt das Öffnen / Lesen / Schliessen von Dateien über fopen() fclose() fread() usw. Der Inhalt der Datei kann zeilenweise oder blockweise gelesen und auf bestimmte Stringpatterns getestet werden. Also kein Problem.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von lordTobiHD
29.11.2016, 16:59

Ich denke ich werde wegen der Sicherheit eher mit MySQL arbeiten. Aber vielen Dank!

0

http://php.net/manual/de/function.array-search.php

Jetzt mußt Du nur noch die Funktion finden, die die Textdatei als Array einliest ;)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von lordTobiHD
29.11.2016, 16:54

Habs aktuell so:

Das Funktoniert aber nicht wahrscheinlich wegen dem $username.

[$username wird vorher Festgelegt]

$zeilen=file("users3.html"); // file( ) liefert dir die Zeilen schon in einem Array .. 
$ausgabe=array();
foreach($zeilen as $zeile) {
if (strpos($zeile, 'Name: ' .$username.'')!==FALSE) // FALSE hieße nicht gefunden
echo "Neu hier?";
}

for($i=0;$i<count($ausgabe);$i++)
echo "Willkommen zur&uumlck";
0
$zeilen = file_get_contents('users3.html'); 
if (strpos($zeilen, $username)==FALSE){
echo 'Neu hier?';
} else {
echo 'Willkommen zurück '.$username;
}
Antwort bewerten Vielen Dank für Deine Bewertung

Noch einfacher kannst du eine Datei mit file_get_contents auslesen.
http://php.net/file\_get\_contents

$inhalt = file_get_contents('pfad_zur_datei');

Dann den Inhalt noch in ein Array packen:
$array = explode("\\\\n", $inhalt);

Jetzt kannst du nach belieben spielen :-)


Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?