公共函数
CodeIgniter 定义了一些全局的函数,你可以在任何地方使用它们,并且不需要加载任何 类库或辅助函数。
- is_php($version)
参数: - $version (string) -- Version number
返回: TRUE if the running PHP version is at least the one specified or FALSE if not
返回类型: bool
判断当前运行的 PHP 版本是否高于或等于你提供的版本号。
例如:
if (is_php('5.3')) { $str = quoted_printable_encode($str); }
如果当前运行的 PHP 版本等于或高于提供的版本号,该函数返回布尔值 TRUE ,反之则返回 FALSE 。
- is_really_writable($file)
参数: - $file (string) -- File path
返回: TRUE if the path is writable, FALSE if not
返回类型: bool
在 Windows 服务器上只有当文件标志了只读属性时,PHP 的 is_writable() 函数才返回 FALSE , 其他情况都是返回 TRUE ,即使文件不是真的可写也返回 TRUE 。
这个函数首先尝试写入该文件,以此来判断该文件是不是真的可写。通常只在 is_writable() 函数 返回的结果不准确的平台下才推荐使用该函数。
例如:
if (is_really_writable('file.txt')) { echo "I could write to this if I wanted to"; } else { echo "File is not writable"; }
注解
更多信息,参看 PHP bug #54709 。
- config_item($key)
参数: - $key (string) -- Config item key
返回: Configuration key value or NULL if not found
返回类型: mixed
访问配置信息最好的方式是使用 配置类 ,但是,你也可以通过 config_item() 函数来访问单个配置项,更多信息,参看 配置类
- set_status_header($code[, $text = ''])
参数: - $code (int) -- HTTP Response status code
- $text (string) -- A custom message to set with the status code
返回类型: void
用于手动设置服务器的 HTTP 状态码,例如:
set_status_header(401); // Sets the header as: Unauthorized
查看这里 有一份状态码的完整清单。
- remove_invisible_characters($str[, $url_encoded = TRUE])
参数: - $str (string) -- Input string
- $url_encoded (bool) -- Whether to remove URL-encoded characters as well
返回: Sanitized string
返回类型: string
这个函数防止在 ASCII 字符串中插入空字符,例如:Java\0script 。
举例:
remove_invisible_characters('Java\\0script'); // Returns: 'Javascript'
- html_escape($var)
参数: - $var (mixed) -- Variable to escape (string or array)
返回: HTML escaped string(s)
返回类型: mixed
这个函数类似于 PHP 原生的 htmlspecialchars() 函数,只是它除了可以接受字符串参数外,还可以接受数组参数。
它在防止 XSS 攻击时很有用。
- get_mimes()
返回: An associative array of file types 返回类型: array 这个函数返回 application/config/mimes.php 文件中定义的 MIME 数组的 引用 。
- is_https()
返回: TRUE if currently using HTTP-over-SSL, FALSE if not 返回类型: bool 该函数在使用 HTTPS 安全连接时返回 TRUE ,没有使用 HTTPS(包括非 HTTP 的请求)则返回 FALSE 。
- is_cli()
返回: TRUE if currently running under CLI, FALSE otherwise 返回类型: bool 当程序在命令行下运行时返回 TRUE ,反之返回 FALSE 。
注解
该函数会检查 PHP_SAPI 的值是否是 'cli' ,或者是否定义了 STDIN 常量。
- function_usable($function_name)
参数: - $function_name (string) -- Function name
返回: TRUE if the function can be used, FALSE if not
返回类型: bool
检查一个函数是否可用,可用返回 TRUE ,否则返回 FALSE 。
该函数直接调用 function_exists() 函数,并检查当前是否加载了 Suhosin 扩展 <http://www.hardened-php.net/suhosin/> ,如果加载了 Suhosin ,检查函数有没有被它禁用。
这个函数在你需要检查某些函数的可用性时非常有用,例如 eval() 和 exec() 函数是非常危险的,可能会由于服务器的安全策略被禁用。
注解
之所以引入这个函数,是由于 Suhosin 的某个 bug 可能会终止脚本的执行, 虽然这个 bug 已经被修复了(版本 0.9.34),但可惜的是还没发布。