本文整理匯總了PHP中CommonUtil::authcode方法的典型用法代碼示例。如果您正苦於以下問題:PHP CommonUtil::authcode方法的具體用法?PHP CommonUtil::authcode怎麽用?PHP CommonUtil::authcode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CommonUtil
的用法示例。
在下文中一共展示了CommonUtil::authcode方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: encodeImgUrl
/**
* 圖片url加密
* @param $url 圖片URL
* @param $params 加密參數
*/
public static function encodeImgUrl($url, $params = array())
{
// 參數為空,則不進行URL加密
if (empty($url)) {
return $url;
}
//$url = Yii::app()->params['imgdomain'].ltrim($url,"/");
// 加密功能是否啟動
if (empty($params) || !($params['enable'] === true)) {
return $url;
}
// 圖片根目錄
$dir = $params['dir'];
// 加密密鑰
$key = $params['key'];
// 加密串過期時間,單位秒
$expiry = (int) $params['expiry'];
// 變化密鑰的長度,大於0時每次生產的加密串都不同
$ckey_len = (int) $params['ckey_len'];
// 加密串前綴
$prefix = $params['prefix'];
// 取圖片主路徑 http://zzz//主目錄
$url_tmp = str_replace('http://', '', $url);
$pos = stripos($url_tmp, $dir);
$signurl = "";
if (!($pos === false)) {
$signurl = 'http://' . substr($url_tmp, 0, $pos) . $dir;
}
// 圖片後綴
$suffixPos = strrpos($url, ".");
$suffix = "";
if (!($suffixPos === false)) {
$suffix = "." . substr($url, $suffixPos + 1);
}
$sign = CommonUtil::authcode($url, 'ENCODE', $key, $expiry, $ckey_len);
// 加密串中 /轉換為 !, +轉換為 - ,因為/ + 兩個特殊字符會影響後續的解碼
$sign = str_replace("/", "!", $sign);
$sign = str_replace("+", "-", $sign);
//$sign = urlencode($sign);
// 組合最後的圖片URL
$signurl = rtrim($signurl, "/") . "/" . $prefix . $sign . $suffix;
return $signurl;
}