相容性函數

CodeIgniter 提供一組相容性函數,使你可以使用非原生可使用的 PHP 函數, 但是只有在更高的版本或者依賴於一定的擴充插件。

作為客製化實作,這些函數對他們本身來說,也將有一些依賴性設定,如果你的 PHP 安裝沒有提供原生的函數,使用我們的方法是很有用的。

Note

大部份像是 通用函數 ,只要依賴條件滿足,相容性函數總是可以使用的。

密碼雜湊

這組相容性函數提供一個 “反向移植” 在 PHP 的標準 Password Hashing extension ,其它方式可以使用,就是將 PHP 版本升級到 PHP 5.5 。

依賴

  • PHP 5.3.7
  • CRYPT_BLOWFISH 提供給 crypt()

常數

  • PASSWORD_BCRYPT
  • PASSWORD_DEFAULT

函數參考

password_get_info($hash)
Parameters:$hash (string) – 雜湊的密碼
Returns:雜湊密碼的資訊
Return type:array

要獲得更多資訊,請參考 PHP manual for password_get_info()

password_hash($password, $algo[, $options = array()])
Parameters:
  • $password (string) – 明文密碼
  • $algo (int) – 雜湊演算法
  • $options (array) – 雜湊選項
Returns:

雜湊密碼,或者錯誤 FALSE

Return type:

string

要獲得更多資訊,請參考 PHP manual for password_hash()

Note

除非你提供你自己的(以及有效的)salt,這個函數可以進一步提供依賴於可使用的 CSPRNG source。 滿足下列每一個條件: - mcrypt_create_iv() with MCRYPT_DEV_URANDOM - openssl_random_pseudo_bytes() - /dev/arandom - /dev/urandom

password_needs_rehash($hash, $algo[, $options = array()])
Parameters:
  • $hash (string) – 雜湊密碼
  • $algo (int) – 雜湊演算法
  • $options (array) – 雜湊選項
Returns:

TRUE 如果雜湊可以被匹配於輸入的演算法以及選項給重新雜湊,否則 FALSE

Return type:

bool

要獲得更多資訊,請參考 PHP manual for password_needs_rehash()

password_verify($password, $hash)
Parameters:
  • $password (string) – 純文本密碼
  • $hash (string) – 雜湊密碼
Returns:

TRUE 如果密碼匹配雜湊,如果不是 FALSE

Return type:

bool

要獲得更多資訊,請參考 PHP manual for password_verify()

雜湊(訊息摘要)

This compatibility layer contains backports for the hash_equals() and hash_pbkdf2() functions, which otherwise require PHP 5.6 and/or PHP 5.5 respectively.

依賴

  • None

函數參考

hash_equals($known_string, $user_string)
Parameters:
  • $known_string (string) – 已知的字串
  • $user_string (string) – 使用者提供的字串
Returns:

TRUE 如果字串匹配,否則 FALSE

Return type:

string

要獲得更多資訊,請參考 PHP manual for hash_equals()

hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]])
Parameters:
  • $algo (string) – 雜湊演算法
  • $password (string) – 密碼
  • $salt (string) – 雜湊的 salt
  • $iterations (int) – 迭代推導過程中執行的次數
  • $length (int) – 輸出字串長度
  • $raw_output (bool) – 是否輸出原始二進制資料
Returns:

如果 raw_output 設置為TRUE, 則回傳原始二進制數據表示的信息摘要,否則回傳 16 進制小寫字串格式表示的信息摘要。

Return type:

string

要獲得更多資訊,請參考 PHP manual for hash_pbkdf2()

多字節字串

這個相容性函數提供有限的參考 PHP’s Multibyte String extension 。由於是有限的替代解決方法,只有少數的函數是可用的。

Note

當一個字元參數省略, $config['charset'] 將被用。

依賴

Important

這個依賴是非必要的,這個函數總是被定義好了。 If iconv is not available, they WILL fall-back to their non-mbstring versions.

Important

Where a character set is supplied, it must be supported by iconv and in a format that it recognizes.

Note

For you own dependency check on the actual mbstring extension, use the MB_ENABLED constant.

函數參考

mb_strlen($str[, $encoding = NULL])
Parameters:
  • $str (string) – 輸入字串
  • $encoding (string) – 字元集合
Returns:

字串長度,或者錯誤 FALSE

Return type:

string

要獲得更多資訊,請參考 PHP manual for mb_strlen()

mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
Parameters:
  • $haystack (string) – String to search in
  • $needle (string) – Part of string to search for
  • $offset (int) – Search offset
  • $encoding (string) – Character set
Returns:

Numeric character position of where $needle was found or FALSE if not found

Return type:

mixed

要獲得更多資訊,請參考 PHP manual for mb_strpos()

mb_substr($str, $start[, $length = NULL[, $encoding = NULL]])
Parameters:
  • $str (string) – Input string
  • $start (int) – Position of first character
  • $length (int) – Maximum number of characters
  • $encoding (string) – Character set
Returns:

Portion of $str specified by $start and $length or FALSE on failure

Return type:

string

要獲得更多資訊,請參考 PHP manual for mb_substr()

標準函數

這組相容性函數提供了支持 PHP 中的一些標準的功能,只是可能需要一個較新的 PHP 版本。

依賴

  • None

函數參考

array_column(array $array, $column_key[, $index_key = NULL])
Parameters:
  • $array (array) – 需要取出的多維陣列的陣列
  • $column_key (mixed) – 需要返回值的列的索引
  • $index_key (mixed) – 需要把哪個索引當作返回值的索引
Returns:

從多維陣列中返回單列陣列

Return type:

array

要獲得更多資訊,請參考 PHP manual for array_column()

hex2bin($data)
Parameters:$data (array) – Hexadecimal representation of data
Returns:Binary representation of the given data
Return type:string

要獲得更多資訊,請參考 PHP manual for hex2bin()