提交頁面 shorten.php:
處理頁面 show.php:
<?php
include 'functions.php';
include 'shorturls.php';
$entry = $_post['submit'];
$url = $_post['url'];
$output = '';
if($entry == 'shorten url' and $url)
else $output = 'access error';
} else
echo $output.'
back';
}?>
關聯頁面 functions.php
<?php
function alphaid($in, $to_num = false, $pad_up = false, $passkey = null)
$out = sprintf('%f', $out);
$out = substr($out, 0, strpos($out, '.'));
} else
$out = "";
for ($t = floor(log($in, $base)); $t >= 0; $t--)
$out = strrev($out); // reverse
} return $out;
}?>
關聯頁面 shorturls.php
<?php $shorturls = array ();?>
一些函式的解釋:
1. array_search() 函式
array_search(value,array,strict)
array_search() 函式與 in_array() 一樣,在陣列中查詢乙個鍵值。如果找到了該值,匹配元素的鍵名會被返回。如果沒找到,則返回 false。
2. var_export() 函式
此函式返回關於傳遞給該函式的變數的結構資訊,它和 var_dump() 類似,不同的是其返回的表示是合法的 php **。
您可以通過將函式的第二個引數設定為 true,從而返回變數的表示。
比較 var_export() 和 var_dump().
最後是 接受頁面 redirect.php
<?php
include 'shorturls.php';
$uid = $_get['uid'];
$addr = ($uid and array_key_exists($uid,$shorturls)) ? $shorturls[$uid]: '/';
header('location:'.$addr);
此頁面需要結合 .htaccess or .waccess 使用
rewriteengine on
rewriterule ^s=(.*)$ /redirect.php?uid=$1 [r=301,l]
關聯: 生成短位址
var convertstr encodeuricomponent urlstr 轉換的原鏈結可能存在 這樣的特殊符號,導致原鏈結的某些欄位會被當做ajax請求的引數,所以最好先進行轉碼 getshorturl convertstr function getshorturl urlstr succe...
微博短位址
將長 md5生成32位簽名串,分為4段,每段8個位元組 對這四段迴圈處理,取8個位元組,將他看成16進製制串與0x3fffffff 30位1 與操作,即超過30位的忽略處理 這30位分成6段,每5位的數字作為字母表的索引取得特定字元,依次進行獲得6位字串 總的md5串可以獲得4個6位串 取裡面的任意...
縮短url url短位址鏈結
之前給合作方 時隱藏的url過長,導致合作方提出在列印的時候列印不出來的問題,要求url長度在50位元組內,所以寫了縮短url功能。var url string.format billing scancode?tenantid bussinesstype groupnumber deviceid b...