Check this one out (I use it to define functions for versions of PHP that don't have wordwrap defined for example): // Function to determine if the current version of PHP is // at least the one specified as a string in the parameter. // This is needed because string comparison isn't always accurate: // "4.0.2">"4.0.12" as strings, although that's not true when // speaking of comparing versions.
// Usage example: // if (!isphpver("4.0.2")) // { // [do something] // } // Bogdan Stancescu <[EMAIL PROTECTED]>, November 2001 // You may freely use this function as long as you keep the header function isphpver($minver) { $itis=2; // That is, undecided $minimum=explode(".",$minver); $current=explode(".",phpversion()); for ($i=0;(($i<sizeof($current)) && ($i<sizeof($minimum)));$i++) { if ($current[$i]>$minimum[$i]) { $itis=true; // In this case, we have a winner break; } if ($current[$i]<$minimum[$i]) // > { $itis=false; // In this case, we have a loser break; } } if ($itis==2) // This would only happen if all the common version // components are identical. But there are may be // differences: // Example 1: comparing "4.0.1" with "4.0" would be // identical for now, but the condition // is satisfied; // Example 2: comparing "4.0" with "4.0.1" - identical // for now, but the condition is NOT // satisfied { if (sizeof($current)>=sizeof($minimum)) { $itis=true; } else { // Ok, only one more chance: if for example the user // specified "4.0.0" and phpversion returned "4.0". for ($i=sizeof($current)-1;$i<sizeof($minimum);$i++) // > { if ($minimum[$i]) { $itis=false; } } if ($itis==2) { $itis=true; } } } return($itis); } Alan McFarlane wrote: > What's the best method for checking the PHP version number. > > I'm assuming that include() was available in all versions, so, from my main > index.php script, I include a local script (common.php) : > > <?php > // assume minimum version of PHP required is 4.0.5 > if (phpversion() < 4) { die("wrong version"); } > $ver = explode(".", phpversion()); > if ($ver[2] < 5) { die("wrong version"); } > ?> > > The problem I can see is that some of the earlier 4+ versions had a funny > number scheme - i.e. 4.0.1pl2. > > Does anyone have a complete list of version numbers (or a better method of > version checking)? > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php