CodeIgniter 使用了一些全局定義的函數(shù)來完成某些操作,你在任何情況下都可以使用,而不需要加載庫或輔助函數(shù)。
$version
: 版本號檢測 PHP 版本是否大于參數(shù)的版本號。例如:
if (is_php('5.3'))
{
$str = quoted_printable_encode($str);
}
如果安裝的 PHP 版本號大于等于參數(shù) version,返回 TRUE,如果小于參數(shù) version,則返回 FALSE。
is_really_writable($file)
在Windows平臺,實際上 is_writable()
函數(shù)在沒有文件寫權(quán)限時也返回 TRUE。那是因為,只有文件是只讀屬性時,操作系統(tǒng)才向 PHP 報告為 FALSE。這個函數(shù)依靠對文件的先行寫入來判斷是否真的具有寫權(quán)限。通常情況下,只有在這個信息不可靠的平臺上才推薦使用。例如:
if (is_really_writable('file.txt'))
{
echo "I could write to this if I wanted to";
}
else
{
echo "File is not writable";
}
盡管使用 config_item() 函數(shù)能夠取得單個配置信息,但是 配置庫
是訪問這些信息的優(yōu)選方式。更多信息請見類庫參考。
show_error($message, $status_code[, $heading = 'An Error Was Encountered’])
這個函數(shù)調(diào)用 CI_Exception::show_error()
。更多細節(jié)參考文檔“錯誤處理”文檔。
show_404([$page = ''[, $log_error = TRUE]])
這個函數(shù)調(diào)用 CI_Exception::show_404()
。更多細節(jié)參考文檔“錯誤處理”文檔。
log_message($level, $message)
這是 CI_Log::write_log()
函數(shù)的別名。更多細節(jié)參考文檔“錯誤處理”文檔。
set_status_header($code[, $text = ‘’])
允許你手工設置服務器狀態(tài)頭,例如:
set_status_header(401);
// Sets the header as: Unauthorized
remove_invisible_characters($str[, $url_encoded = TRUE])
這個函數(shù)不允許在 ASCII 字符間插入 NULL 字符,比如 Java\\0script
。例如:
remove_invisible_characters('Java\\0script');
// Returns: 'Javascript'
html_escape($var)
這是原生 htmlspecialchars()
函數(shù)的別名,它能接受字符串數(shù)組。有助于防止跨站腳本攻擊(XSS)。
get_mimes()
這個函數(shù)返回 application/config/mimes.php 里的 MIMEs 數(shù)組的引用。
is_https()
如果使用安全連接(HTTPS),返回 TRUE,否則返回 FALSE
is_cli()
如果應用程序運行在命令行,返回 TRUE,否則返回 FALSE。這個函數(shù)同時檢查 PHP_SAPI
是否是 'cli',或者如果 STDIN
常量已經(jīng)定義過。
function_usable($function_name)
如果一個函數(shù)存在并且可用,返回 TRUE,否則返回 FALSE。 這個使用 function_exists()
函數(shù)檢查,并且如果已經(jīng)加載 Suhosin extension
,檢查是否它有沒有關(guān)閉這個函數(shù)的檢查功能。
如果你想檢查諸如 eval()
和 exec()
函數(shù)是否可用,這個函數(shù)非常有用。這個函數(shù)也非常的危險,因此在高度嚴格的安全策略服務器可能被禁用。
注意:此功能被引入,是為了 Suhosin 終止腳本運行,但事實證明這是一個錯誤。這個錯誤修復了有一段時間了(版本 0.9.34),但是很遺憾它還沒發(fā)布。