介紹一個免費生成https://sinaurl.cn/xxx 的網(wǎng)址:http://www.sinaurls.cn/ ?順便寫一個短網(wǎng)址的php代碼原理。
核心方法 ?代碼php:
functionmake_short_url($url){
? ? $url=str_ireplace("http://","",$url);
? ? $pdo=newPDO("mysql:host=".HOST.";dbname=".DB_NAME,USER,PASS);
? ? $rs=$pdo->query("select id from links where url='".$url."'");
? ? $row=$rs-> fetch();
? ? if($row==false){
? ? ? ? $pdo->exec("insert into links(url,ctime) values('".$url."','".mktime()."')");
? ? ? ? $id=$pdo-> lastinsertid();
? ? ? ? return"http://d.cn/".decb64($id);
? ? }else{
? ? ? ? return"http://d.cn/".decb64($row['id']);
? ? }
}
functionget_long_url($code){
? ? $pdo=newPDO("mysql:host=".HOST.";dbname=".DB_NAME,USER,PASS);
? ? $rs=$pdo->query("select url from links where id='".b64dec($code)."'");
? ? $row=$rs-> fetch();
? ? if($row==false){
? ? ? ? print"鏈接錯誤";
? ? ? ? exit;
? ? }else{
? ? ? ? return"http://".$row['url'];
? ? }
}//參數(shù)的接收與短鏈接返回部分if($_GET['code']){
? ? $code=trim($_GET['code'],"/");
? ? $url=get_long_url($code);
? ? if($url){
? ? ? ? header("location:$url");
? ? }
}elseif($_GET['url']){
? ? $url=trim($_GET['url']);
? ? printmake_short_url($url);
}
最后瀏覽器測試下