Datei auslesen und überprüfen

Verstehe ich das richtig?
Die Vars $lese[0] und $version geben aus:

Code:
$lese[0] = "Version-Datei: 0.1.20070523"
$version = "Version-Datenbank: 0.1.20070523"

Die Strings sind doch niemals identisch oder habe ich das falsch verstanden mit den Werten die die Variablen ausgeben?
 
Er hats ja unten notiert:

PHP:
echo "Version-Datei: ".$lese['0']."<br />";
    echo "Version-Datenbank: ".$version."<br />";
 
Nein, eigentlich nicht.

PHP:
$fl1 = "0.1.20070523";
$fl2 = "0.1.20070523";

if($fl1 == $fl2) echo "ja";

Das funktioniert bei mir.
 
Nein, eigentlich nicht.

PHP:
$fl1 = "0.1.20070523";
$fl2 = "0.1.20070523";

if($fl1 == $fl2) echo "ja";

Das funktioniert bei mir.

Problem gelöst...

Ich bin ja SOOOOOOOOOOOOOOOOOOOO dumm........

Warum haben wir String genommen wenn es sich hier um int zahlen handelt...

Oh mann *lol*

Hab es gelöst

PHP:
<?php
		$filename = $mod_ordner."test2.mdl";
		$lese = file($filename);
		if((int)$lese['0'] == (int)$version) {
			$actept = '<font color="green">Aktuell</font>';
		} else {
			$actept = '<font color="red">Aktuell</font>';
		}
?>

Und siehe da es geht auf einmal
 
Weil es keine Integer sind. Wenn dann wären es floats, aber die lassen auch keine zwei Punkte zu.

Mach mal:

PHP:
echo (int)$version;

Dann sollte 0 rauskommen.

Die Lösung ist [phpf]rtrim[/phpf]

Beim Auslesen aus der Datei bleibt der Zeilenumbruch (\n) bestehen, sprich es hat mehr Zeichen als der andere.

PHP:
if(rtrim($lese['0']) == $version)
 
Sorry, hatte die Zeilen überlesen mit der Ausgabe.

Dann wirds sein, das beim einlesen der Zeile ein Steuerzeichen CR oder LF oder beides am Ende steht.
 
Weil es keine Integer sind. Wenn dann wären es floats, aber die lassen auch keine zwei Punkte zu.

Mach mal:

PHP:
echo (int)$version;

Dann sollte 0 rauskommen.

Die Lösung ist [phpf]rtrim[/phpf]

Beim Auslesen aus der Datei bleibt der Zeilenumbruch (\n) bestehen, sprich es hat mehr Zeichen als der andere.

PHP:
if(rtrim($lese['0']) == $version)

Stimmt....

Es geht auch damit, man kann aber auch die punkte entfernen und diese als floats laufen lassen!

Aber mit dem [phpf]rtrim[/phpf] geht es natürlich wunderbar...

Ich danke dir
 

Neue Beiträge

Zurück