91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用PHP和MySQl實現短網址的生成和讀取

發布時間:2022-03-30 14:54:16 來源:億速云 閱讀:184 作者:小新 欄目:編程語言

這篇文章主要介紹了如何使用PHP和MySQl實現短網址的生成和讀取,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

PHP+MySQl實現短網址的生成和讀取

常規的方案我們將生成好的短網址和原網址對應到一張數據表中,然后供讀取使用。我們先來看如何生成唯一的短網址。

//生成短網址 
function code62($x){ 
  $show=''; 
  while($x>0){ 
    $s=$x % 62; 
    if ($s>35){ 
      $s=chr($s+61); 
    }elseif($s>9&&$s<=35){ 
      $s=chr($s+55); 
    } 
    $show.=$s; 
    $x=floor($x/62); 
  } 
  return $show; 
} 
function shorturl($url){ 
  $url=crc32($url); 
  $result=sprintf("%u",$url); 
  return code62($result); 
} 
echo shorturl('https://www.jb51.net/'); 
//1EeIv2

使用以上PHP代碼可以生成唯一的6位的短網址,然后我們將生成的短網址與原網址一起寫入到MySQL表中,插入數據庫的代碼這里我就不寫了,這是PHP基礎。
接著,我們有一個link.php用來接收讀取url并實現真實跳轉。

include_once('connect.php'); //連接數據庫 
$url = $_GET['url']; 
if(isset($url) && !empty($url)){ 
  $sql = "select url from shorturl where codeid='$url'"; 
  $query = mysql_query($sql); 
  if($row=mysql_fetch_array($query)){ 
    $real_url = $row['url']; 
    header('Location: ' . $real_url); 
  }else{ 
    header('HTTP/1.0 404 Not Found'); 
    echo 'Unknown link.'; 
  } 
}else{ 
  header('HTTP/1.0 404 Not Found'); 
  echo 'Unknown link.'; 
}

代碼中,如果得到短網址對應的真實url,會使用header跳轉到真實的頁面上去,否則返回404代碼。這樣我們可以使用如: http://yourdomain/link.php?url=xxx來實現短網址訪問。

繼續,我們使用URL rewrite即重寫功能來實現諸如可以通過地址:http://yourdomain/xxx 來訪問。

以下是rewrite規則:

#Apache規則: 
RewriteRule ^/(.*)$ /link.php?url=$1 [L] 
 
#如果使用nginx,規則這樣寫: 
rewrite ^/(.*)$ /link.php?url=$1 last;

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用PHP和MySQl實現短網址的生成和讀取”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铜鼓县| 虹口区| 乌审旗| 精河县| 白河县| 曲周县| 茂名市| 尚志市| 平顶山市| 随州市| 泌阳县| 故城县| 巴里| 大城县| 恩平市| 炉霍县| 滨海县| 伊通| 江孜县| 依兰县| 遂川县| 张家川| 丰原市| 成武县| 特克斯县| 福建省| 桑日县| 麦盖提县| 礼泉县| 葫芦岛市| 盐边县| 沙雅县| 改则县| 赫章县| 沂水县| 额尔古纳市| 定州市| 信宜市| 金山区| 雷山县| 淳安县|