diff options
author | Derek Jones <derek.jones@ellislab.com> | 2009-07-28 16:42:12 +0200 |
---|---|---|
committer | Derek Jones <derek.jones@ellislab.com> | 2009-07-28 16:42:12 +0200 |
commit | 086ee5a06dc2a9b8273574c8c883efdbaa815765 (patch) | |
tree | 9de1aebb62af95c2c397b9826494f3653bfe4001 | |
parent | 1414987474e8d9a96e640ba9378d447677cfc387 (diff) |
add is_php() to Common.php
-rw-r--r-- | system/codeigniter/Common.php | 23 | ||||
-rw-r--r-- | user_guide/changelog.html | 1 | ||||
-rw-r--r-- | user_guide/general/common_functions.html | 12 |
3 files changed, 36 insertions, 0 deletions
diff --git a/system/codeigniter/Common.php b/system/codeigniter/Common.php index 340be2454..39005f602 100644 --- a/system/codeigniter/Common.php +++ b/system/codeigniter/Common.php @@ -30,6 +30,29 @@ // ------------------------------------------------------------------------ /** +* Determines if the current version of PHP is greater then the supplied value +* +* Since there are a few places where we conditionally test for PHP > 5 +* we'll set a static variable. +* +* @access public +* @return bool +*/ + function is_php($version = '5.0.0') + { + static $_is_php; + + if ( ! isset($_is_php[$version])) + { + $_is_php[$version] = (version_compare(PHP_VERSION, $version) < 0) ? FALSE : TRUE; + } + + return $_is_php[$version]; + } + +// ------------------------------------------------------------------------ + +/** * Tests for file writability * * is_writable() returns TRUE on Windows servers when you really can't write to diff --git a/user_guide/changelog.html b/user_guide/changelog.html index 7bf5028d3..1de9effe6 100644 --- a/user_guide/changelog.html +++ b/user_guide/changelog.html @@ -92,6 +92,7 @@ SVN Revision: </p> <li>Modified <a href="general/errors.html">show_error()</a> to allow sending of HTTP server response codes.</li> <li>Modified <a href="general/errors.html">show_404()</a> to send 404 status code, removing non-CGI compatible header() statement from error_404.php template.</li> <li>Added set_status_header() to the <a href="general/common_functions.html">Common functions<a> to allow use when the Output class is unavailable.</li> + <li>Added is_php() to <a href="general/common_functions.html">Common functions</a> to facilitate PHP version comparisons.</p> </ul> </li> </ul> diff --git a/user_guide/general/common_functions.html b/user_guide/general/common_functions.html index 980a5a969..1f4394424 100644 --- a/user_guide/general/common_functions.html +++ b/user_guide/general/common_functions.html @@ -59,6 +59,18 @@ Auto-loading Resources <p>CodeIgniter uses a few functions for its operation that are globally defined, and are available to you at any point. These do not require loading any libraries or helpers.</p> +<h2>is_php('<var>version_number</var>')</h2> + +<p>is_php() determines of the PHP version being used is greater than the supplied <var>version_number</var>.</p> + +<code>if (is_php('5.3.0'))<br /> +{<br /> + $str = quoted_printable_encode($str);<br /> +}</code> + +<p>Returns boolean <kbd>TRUE</kbd> if the installed version of PHP is equal to or greater than the supplied version number. Returns <kbd>FALSE</kbd> if the installed version of PHP is lower than the supplied version number.</p> + + <h2>is_really_writable('<var>path/to/file</var>')</h2> <p>is_writable() returns TRUE on Windows servers when you really can't write to the file as the OS reports to PHP as FALSE only if the read-only attribute is marked. This function determines if a file is actually writable by attempting to write to it first. Generally only recommended on platforms where this information may be unreliable.</p> |