最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

php如何實現(xiàn)數(shù)字和字符串id互轉(zhuǎn)

來源:懂視網(wǎng) 責編:小采 時間:2020-11-02 18:02:05
文檔

php如何實現(xiàn)數(shù)字和字符串id互轉(zhuǎn)

php如何實現(xiàn)數(shù)字和字符串id互轉(zhuǎn):php數(shù)字和字符串id互轉(zhuǎn)的實現(xiàn)方法:首先打開相應(yīng)的PHP代碼文件;然后通過alphaID(9007199254740989);方式實現(xiàn)數(shù)字和字符串id互轉(zhuǎn)即可。推薦:《PHP視頻教程》PHP數(shù)字和字符串ID互轉(zhuǎn)函數(shù)(類似優(yōu)酷ID)不知道你注意了沒有,類似優(yōu)酷、騰訊視頻等其他視頻鏈
推薦度:
導(dǎo)讀php如何實現(xiàn)數(shù)字和字符串id互轉(zhuǎn):php數(shù)字和字符串id互轉(zhuǎn)的實現(xiàn)方法:首先打開相應(yīng)的PHP代碼文件;然后通過alphaID(9007199254740989);方式實現(xiàn)數(shù)字和字符串id互轉(zhuǎn)即可。推薦:《PHP視頻教程》PHP數(shù)字和字符串ID互轉(zhuǎn)函數(shù)(類似優(yōu)酷ID)不知道你注意了沒有,類似優(yōu)酷、騰訊視頻等其他視頻鏈

php數(shù)字和字符串id互轉(zhuǎn)的實現(xiàn)方法:首先打開相應(yīng)的PHP代碼文件;然后通過“alphaID(9007199254740989);”方式實現(xiàn)數(shù)字和字符串id互轉(zhuǎn)即可。

推薦:《PHP視頻教程》

PHP數(shù)字和字符串ID互轉(zhuǎn)函數(shù)(類似優(yōu)酷ID)

不知道你注意了沒有,類似優(yōu)酷、騰訊視頻等其他視頻鏈接似乎類似這樣的

代碼如下:

http://v.youku.com/v_show/id_XNjA5MjE5OTM2.html

注意id_xxx那段,是不是看不懂了,但你無可否認這個就是id,這不國外的一位牛人早在09年就寫了針對PHP/Python/Javascript/Java/SQL的生成方法,可見我現(xiàn)在是多么的落伍,下面我把代碼貼出來,希望分享精神永存。

代碼如下:

<?php
/** 
 * @author Kevin van Zonneveld <kevin@vanzonneveld.net>
 * @author Simon Franz
 * @author Deadfish
 * @copyright 2008 Kevin van Zonneveld (http://kevin.vanzonneveld.net)
 * @license http://www.opensource.org/licenses/bsd-license.php New BSD Licence
 * @version SVN: Release: $Id: alphaID.inc.php 344 2009-06-10 17:43:59Z kevin $
 * @link http://kevin.vanzonneveld.net/
 *
 * @param mixed $in String or long input to translate
 * @param boolean $to_num Reverses translation when true
 * @param mixed $pad_up Number or boolean padds the result up to a specified length
 * @param string $passKey Supplying a password makes it harder to calculate the original ID
 *
 * @return mixed string or long
 */
function alphaID($in, $to_num = false, $pad_up = false, $passKey = null)
{
 $index = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 if ($passKey !== null) {
 // Although this function's purpose is to just make the
 // ID short - and not so much secure,
 // with this patch by Simon Franz (http://blog.snaky.org/)
 // you can optionally supply a password to make it harder
 // to calculate the corresponding numeric ID
 
 for ($n = 0; $n<strlen($index); $n++) {
 $i[] = substr( $index,$n ,1);
 }
 
 $passhash = hash('sha256',$passKey);
 $passhash = (strlen($passhash) < strlen($index))
 ? hash('sha512',$passKey)
 : $passhash;
 
 for ($n=0; $n < strlen($index); $n++) {
 $p[] = substr($passhash, $n ,1);
 }
 
 array_multisort($p, SORT_DESC, $i);
 $index = implode($i);
 }
 
 $base = strlen($index);
 
 if ($to_num) {
 // Digital number < 0) {
 $out -= pow($base, $pad_up);
 }
 }
 $out = sprintf('%F', $out);
 $out = substr($out, 0, strpos($out, '.'));
 } else {
 // Digital number -->> alphabet letter code
 if (is_numeric($pad_up)) {
 $pad_up--;
 if ($pad_up > 0) {
 $in += pow($base, $pad_up);
 }
 }
 
 $out = "";
 for ($t = floor(log($in, $base)); $t >= 0; $t--) {
 $bcp = bcpow($base, $t);
 $a = floor($in / $bcp) % $base;
 $out = $out . substr($index, $a, 1);
 $in = $in - ($a * $bcp);
 }
 $out = strrev($out); // reverse
 }
 
 return $out;
}

使用舉例

代碼如下:

<?php
alphaID(9007199254740989);

執(zhí)行結(jié)果將被返回“fE2XnNGpF”,我們可以把它認為是加密,進行反解密則

代碼如下:

<?php
alphaID('fE2XnNGpF', true);

那么就轉(zhuǎn)換成真實的數(shù)字“9007199254740989”。方法還可以支持使用key進行加密,使得別人無法解得你真實的ID。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

php如何實現(xiàn)數(shù)字和字符串id互轉(zhuǎn)

php如何實現(xiàn)數(shù)字和字符串id互轉(zhuǎn):php數(shù)字和字符串id互轉(zhuǎn)的實現(xiàn)方法:首先打開相應(yīng)的PHP代碼文件;然后通過alphaID(9007199254740989);方式實現(xiàn)數(shù)字和字符串id互轉(zhuǎn)即可。推薦:《PHP視頻教程》PHP數(shù)字和字符串ID互轉(zhuǎn)函數(shù)(類似優(yōu)酷ID)不知道你注意了沒有,類似優(yōu)酷、騰訊視頻等其他視頻鏈
推薦度:
標簽: id 如何將 php
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top