diff options
Diffstat (limited to 'user_guide_src/source/general/common_functions.rst')
-rw-r--r-- | user_guide_src/source/general/common_functions.rst | 226 |
1 files changed, 111 insertions, 115 deletions
diff --git a/user_guide_src/source/general/common_functions.rst b/user_guide_src/source/general/common_functions.rst index e085ef808..2ca7478ec 100644 --- a/user_guide_src/source/general/common_functions.rst +++ b/user_guide_src/source/general/common_functions.rst @@ -6,187 +6,183 @@ 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. -is_php() -======== +.. contents:: + :local: -.. php:function:: is_php($version = '5.3.0') +.. raw:: html - :param string $version: Version number - :returns: bool + <div class="custom-index container"></div> + +.. function:: is_php([$version = '5.3.0']) -Determines of the PHP version being used is greater than the -supplied version number. + :param string $version: Version number + :returns: TRUE if the running PHP version is at least the one specified or FALSE if not + :rtype: bool -Example:: + Determines of the PHP version being used is greater than the + supplied version number. - if (is_php('5.3')) - { - $str = quoted_printable_encode($str); - } + Example:: -Returns boolean TRUE if the installed version of PHP is equal to or -greater than the supplied version number. Returns FALSE if the installed -version of PHP is lower than the supplied version number. + if (is_php('5.3')) + { + $str = quoted_printable_encode($str); + } -is_really_writable() -==================== + Returns boolean TRUE if the installed version of PHP is equal to or + greater than the supplied version number. Returns FALSE if the installed + version of PHP is lower than the supplied version number. -.. php:function:: is_really_writable($file) +.. function:: is_really_writable($file) :param string $file: File path - :returns: bool + :returns: TRUE if the path is writable, FALSE if not + :rtype: bool -``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. + ``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. + 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. -Example:: + Example:: - if (is_really_writable('file.txt')) - { - echo "I could write to this if I wanted to"; - } - else - { - echo "File is not writable"; - } + if (is_really_writable('file.txt')) + { + echo "I could write to this if I wanted to"; + } + else + { + echo "File is not writable"; + } -config_item() -============= + .. note:: See also `PHP bug #54709 <https://bugs.php.net/bug.php?id=54709>`_ for more info. -.. php:function:: config_item($key) +.. function:: config_item($key) :param string $key: Config item key - :returns: mixed + :returns: Configuration key value or FALSE if not found + :rtype: mixed -The :doc:`Config Library <../libraries/config>` is the preferred way of -accessing configuration information, however ``config_item()`` can be used -to retrieve single keys. See :doc:`Config Library <../libraries/config>` -documentation for more information. + The :doc:`Config Library <../libraries/config>` is the preferred way of + accessing configuration information, however ``config_item()`` can be used + to retrieve single keys. See :doc:`Config Library <../libraries/config>` + documentation for more information. -show_error() -============ - -.. php:function:: show_error($message, $status_code, $heading = 'An Error Was Encountered') +.. :noindex: function:: show_error($message, $status_code[, $heading = 'An Error Was Encountered']) :param mixed $message: Error message :param int $status_code: HTTP Response status code :param string $heading: Error page heading - :returns: void - -This function calls ``CI_Exception::show_error()``. For more info, -please see the :doc:`Error Handling <errors>` documentation. + :rtype: void -show_404() -========== + This function calls ``CI_Exception::show_error()``. For more info, + please see the :doc:`Error Handling <errors>` documentation. -.. php:function:: show_404($page = '', $log_error = TRUE) +.. :noindex: function:: show_404([$page = ''[, $log_error = TRUE]]) :param string $page: URI string :param bool $log_error: Whether to log the error - :returns: void + :rtype: void -This function calls ``CI_Exception::show_404()``. For more info, -please see the :doc:`Error Handling <errors>` documentation. + This function calls ``CI_Exception::show_404()``. For more info, + please see the :doc:`Error Handling <errors>` documentation. -log_message() -============= - -.. php:function:: log_message($level, $message) +.. :noindex: function:: log_message($level, $message) :param string $level: Log level: 'error', 'debug' or 'info' :param string $message: Message to log - :returns: void - -This function is an alias for ``CI_Log::write_log()``. For more info, -please see the :doc:`Error Handling <errors>` documentation. + :rtype: void -set_status_header() -=============================== + This function is an alias for ``CI_Log::write_log()``. For more info, + please see the :doc:`Error Handling <errors>` documentation. -.. php:function:: set_status_header($code, $text = '') +.. function:: set_status_header($code[, $text = '']) :param int $code: HTTP Reponse status code :param string $text: A custom message to set with the status code - :returns: void + :rtype: void -Permits you to manually set a server status header. Example:: + Permits you to manually set a server status header. Example:: - set_status_header(401); - // Sets the header as: Unauthorized + set_status_header(401); + // Sets the header as: Unauthorized -`See here <http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ for -a full list of headers. + `See here <http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ for + a full list of headers. -remove_invisible_characters() -============================= - -.. php:function:: remove_invisible_characters($str, $url_encoded = TRUE) +.. function:: remove_invisible_characters($str[, $url_encoded = TRUE]) :param string $str: Input string :param bool $url_encoded: Whether to remove URL-encoded characters as well - :returns: string + :returns: Sanitized string + :rtype: string -This function prevents inserting NULL characters between ASCII -characters, like Java\\0script. + This function prevents inserting NULL characters between ASCII + characters, like Java\\0script. -Example:: + Example:: - remove_invisible_characters('Java\\0script'); - // Returns: 'Javascript' + remove_invisible_characters('Java\\0script'); + // Returns: 'Javascript' -html_escape() -============= +.. function:: html_escape($var) -.. php:function:: html_escape($var) + :param mixed $var: Variable to escape (string or array) + :returns: HTML escaped string(s) + :rtype: mixed - :param mixed $var: Variable to escape - (string or array) - :returns: mixed + This function acts as an alias for PHP's native ``htmlspecialchars()`` + function, with the advantage of being able to accept an array of strings. -This function acts as an alias for PHP's native ``htmlspecialchars()`` -function, with the advantage of being able to accept an array of strings. + It is useful in preventing Cross Site Scripting (XSS). -It is useful in preventing Cross Site Scripting (XSS). +.. function:: get_mimes() -get_mimes() -=========== + :returns: An associative array of file types + :rtype: array -.. php:function:: get_mimes() + This function returns a *reference* to the MIMEs array from + *application/config/mimes.php*. - :returns: array +.. function:: is_https() -This function returns a *reference* to the MIMEs array from -*application/config/mimes.php*. + :returns: TRUE if currently using HTTP-over-SSL, FALSE if not + :rtype: bool -is_https() -========== + Returns TRUE if a secure (HTTPS) connection is used and FALSE + in any other case (including non-HTTP requests). -.. php:function:: is_https() +.. function:: is_cli() - :returns: bool + :returns: TRUE if currently running under CLI, FALSE otherwise + :rtype: bool -Returns TRUE if a secure (HTTPS) connection is used and FALSE -in any other case (including non-HTTP requests). + Returns TRUE if the application is run through the command line + and FALSE if not. -function_usable() -================= + .. note:: This function checks both if the ``PHP_SAPI`` value is 'cli' + or if the ``STDIN`` constant is defined. -.. php:function:: function_usable($function_name) +.. function:: function_usable($function_name) :param string $function_name: Function name - :returns: bool + :returns: TRUE if the function can be used, FALSE if not + :rtype: bool + + Returns TRUE if a function exists and is usable, FALSE otherwise. -Returns TRUE if a function exists and is usable, FALSE otherwise. + This function runs a ``function_exists()`` check and if the + `Suhosin extension <http://www.hardened-php.net/suhosin/>` is loaded, + checks if it doesn't disable the function being checked. -This function runs a ``function_exists()`` check and if the -`Suhosin extension <http://www.hardened-php.net/suhosin/>` is loaded, -checks if it doesn't disable the function being checked. + It is useful if you want to check for the availability of functions + such as ``eval()`` and ``exec()``, which are dangerous and might be + disabled on servers with highly restrictive security policies. -It is useful if you want to check for the availability of functions -such as ``eval()`` and ``exec()``, which are dangerous and might be -disabled on servers with highly restrictive security policies.
\ No newline at end of file + .. note:: This function was introduced because Suhosin terminated + script execution, but this turned out to be a bug. A fix + has been available for some time (version 0.9.34), but is + unfortunately not released yet.
\ No newline at end of file |