Fehler mit variablen Dateinamen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
code
dank
datei
dateiname
einlesen
file
funktion
glauben
kommentar
match
positive match
problem
programm
string
teil
test
vektor
vergleich
wert test
-
Hallo zusammen,
Ich habe folgendes Problem:
Ich möchte eine txt-Datei einlesen und des Array-Wert in einem Vergleich verwenden!
Beispiel:
$Wert = "TEST"; $Datei = file("test.txt"); $Probewert = $Datei[0]; // $Datei[0] hat ebenfalls den Wert "TEST" if ($Wert == $Probewert) { print ("Positive Match"); } else { print ("No Match"); }
Dieser Teil funktioniert auch wunderbar und liefert "Positive Match"!
ABER:
Nun soll der Dateiname variabel sein:
$dateiname = $_GET['file']; // "?file=test" an die URL angehängt $Wert = "TEST"; $Datei = file($dateiname.".txt"); $Probewert = $Datei[0]; // $Datei[0] hat ebenfalls den Wert "TEST" if ($Wert == $Probewert) { print ("Positive Match"); } else { print ("No Match"); }
Dieser Teil liefert "No Match"!
Zur Info:
Auch bei der 2. Methode, kann das Programm den Wert einlesen...
Ich kann den Wert auch mit "print ($Probewert);" ausgeben...
Habe die Werte auch schon untereinander gedruckt und Leerzeichen o.ä. Unterschiede ausgeschlossen!
Aber der Vergleich liefert immer ein"false"...
Entweder ist es ein simpler Fehler, den ich nicht finde, oder der Vergleich ist so nicht möglich...
Hoffe, das Ihr mir weiterhelfen könnt...
LG boslev
Beitrag zuletzt geändert: 5.5.2010 15:19:28 von boslev -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dein Kommentar
// $Datei[0] hat ebenfalls den Wert "TEST"
ist nicht korrekt.
Strings werden in Php wie Vektoren behandelt.
In $Datei[0] steht also nur ein t.
Ich möchte eine txt-Datei einlesen und des Array-Wert in einem Vergleich verwenden!
Den Satz verstehe ich nicht.
Ich denke die Funktionen strcmp()/stricmp() werden dir helfen.
Gruß,
dex
@ franco-bez
An sich gibt es keine Probleme. Strings sind schon immer char-"Array's" gewesen.
Beitrag zuletzt geändert: 5.5.2010 13:32:30 von qap2 -
Ist $Datei nun ein String oder ist es ein Array ?
$Datei = $dateiname . ".txt" ; -> $Datei ist ein String
$Datei[0]; -> Jetzt auf einmal ein Array ?
Das kann ja nur Probleme geben.
-
qap2 schrieb:
Dein Kommentar
// $Datei[0] hat ebenfalls den Wert "TEST"
ist nicht korrekt.
Strings werden in Php wie Vektoren behandelt.
In $Datei[0] steht also nur ein t.
Ich habe in der ersten Zeile der Textdatei "TEST" stehen
und wenn ich $Datei[0] drucke, gibt das Programm auch "TEST" aus...
Also kann in $Datei[0] eigentlich nicht nur ein "t" stehen...
Aber ich werde mir die zwei Funktionen mal anschauen...
LG boslev
@qap2:
strcmp() liefert mir "-2", also ebenfalls Ungleichheit als Ergebnis...
Ich glaube, ich bin zu dumm dazu... ;)
Beitrag zuletzt geändert: 5.5.2010 14:14:48 von boslev -
Ich glaube nicht, dass du zu dumm dafür bist, sondern dass du uns einen Teil deines Programms nicht zeigst und wir dir somit nicht auf den richtigen Pfad helfen.
Wenn in $Datei[0] wirklich "TEST" steht, musst du ja davor die Datei eingelesen haben. -
Hallo zusammen...
Sorry... Ich habe den file() Befehl vergessen...
Habe es korrigiert!
$Datei = file($dateiname.".txt");
Das war aber nur ein Fehler beim Abschreiben...
Mein Problem besteht weiterhin...
LG boslev
Beitrag zuletzt geändert: 5.5.2010 15:22:29 von boslev -
Dann schau doch mal genauer hin. Das gibt dir nicht "TEST", sondern "TEST\n" zurück.
-
Hallo zusammen,
trim(); war ein super Stichwort! DANKE!
Aber "trim($Datei[0]);" war die Lösung...
Jetzt funktioniert es... Danke @ll!
LG boslev -
Problem gelöst, damit closed. Bei Rückfragen PN an mich!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage