中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何使用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

靖安县| 凉山| 峨山| 南城县| 大兴区| 柯坪县| 孟津县| 涞源县| 重庆市| 仪征市| 嘉兴市| 蒙自县| 玉门市| 沧州市| 五原县| 遂川县| 安义县| 连平县| 吉隆县| 营口市| 洛阳市| 句容市| 襄垣县| 宜昌市| 罗源县| 大宁县| 枣强县| 青海省| 清远市| 梧州市| 台安县| 荔波县| 闽侯县| 旬阳县| 辽宁省| 思茅市| 巴彦淖尔市| 南丰县| 金川县| 沁水县| 建昌县|