Parantatatam
mag Cookies & Kekse
Hallo,
ich denke mal, dass mein Problem schnell abgearbeitet sein dürfte. Also ich habe gerade eine Funktion geschrieben mit der ich überprüfen kann, ob eine angegeben Version gleich, größer oder kleiner als die installierte PHP-Version ist. Das geht ja ohne Probleme, mein Problem ist jetzt nur, dass man bei einer Versionsangabe ja nur die Ziffern von 0 bis 9 und Punkte angeben darf, was ich versucht habe mit preg_match() zu lösen. Ich persönlich arbeite sehr ungern damit, aber es ist nun mal einfacher als die Syntax anderweitig zu prüfen.
Also das wäre mein Skript. Eigentlich braucht ihr nicht das Ganze, aber da ich mir dachte, dass das vielleicht noch jemanden gebrauchen könnte, poste ich es hier vollständig. Das Problem liegt - wie gesagt - nur bei preg_match():
ich denke mal, dass mein Problem schnell abgearbeitet sein dürfte. Also ich habe gerade eine Funktion geschrieben mit der ich überprüfen kann, ob eine angegeben Version gleich, größer oder kleiner als die installierte PHP-Version ist. Das geht ja ohne Probleme, mein Problem ist jetzt nur, dass man bei einer Versionsangabe ja nur die Ziffern von 0 bis 9 und Punkte angeben darf, was ich versucht habe mit preg_match() zu lösen. Ich persönlich arbeite sehr ungern damit, aber es ist nun mal einfacher als die Syntax anderweitig zu prüfen.
Also das wäre mein Skript. Eigentlich braucht ihr nicht das Ganze, aber da ich mir dachte, dass das vielleicht noch jemanden gebrauchen könnte, poste ich es hier vollständig. Das Problem liegt - wie gesagt - nur bei preg_match():
PHP:
function version($version)
{
if(!preg_match('/([0-9\.])/i', $version))
return FALSE;
$current = explode('.', phpversion());
$version = explode('.', $version);
foreach($version as $value)
{
if($value == '')
{
return FALSE;
break;
}
}
$a = count($current);
$b = count($version);
$iCount = $a;
if($a < $b)
$iCount = $b;
for($i = 0; $i < $iCount; $i++)
{
if($current[$i] < $version[$i])
{
return 1;
break;
}
if($current[$i] > $version[$i])
{
return -1;
break;
}
}
return 0;
}