公共函数

CodeIgniter 定义了一些全局的函数,你可以在任何地方使用它们,并且不需要加载任何类库或辅助函数。

  • isphp($version_)

参数:

  • $version (string) — Version number返回:TRUE if the running PHP version is at least the one specified or FALSE if not返回类型:bool

判断当前运行的 PHP 版本是否高于或等于你提供的版本号。

例如:

  1. if (is_php('5.3'))
  2. {
  3. $str = quoted_printable_encode($str);
  4. }

如果当前运行的 PHP 版本等于或高于提供的版本号,该函数返回布尔值 TRUE ,反之则返回 FALSE 。

  • isreally_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() 函数返回的结果不准确的平台下才推荐使用该函数。

例如:

  1. if (is_really_writable('file.txt'))
  2. {
  3. echo "I could write to this if I wanted to";
  4. }
  5. else
  6. {
  7. echo "File is not writable";
  8. }

注解

更多信息,参看 PHP bug #54709

  • configitem($key_)

参数:

  • $key (string) — Config item key返回:Configuration key value or NULL if not found返回类型:mixed

访问配置信息最好的方式是使用 配置类 ,但是,你也可以通过configitem() 函数来访问单个配置项,更多信息,参看 [配置类_]($273e1acea57356d0.md)

  • setstatus_header($code[, $text = ''_])

参数:

  • $code (int) — HTTP Response status code
  • $text (string) — A custom message to set with the status code返回类型:void

用于手动设置服务器的 HTTP 状态码,例如:

  1. set_status_header(401);
  2. // Sets the header as: Unauthorized

查看这里 有一份状态码的完整清单。

  • removeinvisible_characters($str[, $urlencoded = TRUE])

参数:

  • $str (string) — Input string
  • $url_encoded (bool) — Whether to remove URL-encoded characters as well返回:Sanitized string返回类型:string

这个函数防止在 ASCII 字符串中插入空字符,例如:Java\0script 。

举例:

  1. remove_invisible_characters('Java\\0script');
  2. // Returns: 'Javascript'
  • htmlescape($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 常量。

  • functionusable($functionname)

参数:

  • $function_name (string) — Function name返回:TRUE if the function can be used, FALSE if not返回类型:bool

检查一个函数是否可用,可用返回 TRUE ,否则返回 FALSE 。

该函数直接调用 functionexists() 函数,并检查当前是否加载了_Suhosin 扩展 ,如果加载了Suhosin ,检查函数有没有被它禁用。

这个函数在你需要检查某些函数的可用性时非常有用,例如 eval()和 exec() 函数是非常危险的,可能会由于服务器的安全策略被禁用。

注解

之所以引入这个函数,是由于 Suhosin 的某个 bug 可能会终止脚本的执行,虽然这个 bug 已经被修复了(版本 0.9.34),但可惜的是还没发布。