国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php生成短連接的方法

2020-03-22 19:21:54
字體:
供稿:網(wǎng)友
這篇文章主要介紹了關(guān)于php生成短連接的方法,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下

自己沒事研究研究 PHP生成短連接 好多人都花錢買新浪的接口來生成短連接,我自己就寫了一個(gè) 當(dāng)然核心代碼還是借助網(wǎng)絡(luò),我只是負(fù)責(zé)整合了一下而已。

我是在我本地測試的,接下來詳細(xì)說下。

我做的是把域名信息都存在數(shù)據(jù)庫里面,數(shù)據(jù)庫表是這樣的

1.創(chuàng)建個(gè)數(shù)據(jù)庫表

CREATE TABLE `links` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `url` varchar(255) DEFAULT NULL, `ctime` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=111 DEFAULT CHARSET=UTF8;

2.配置本地域名

我用的是phpstudy,你用wamp,或者 xampp都一樣,根據(jù)我的phpstudy來就行

我phpstudy一個(gè)右鍵就可以設(shè)置了,如下圖(右鍵-站點(diǎn)域名管理)

箭頭幾個(gè)位置是要注意的,自己設(shè)置域名 然后選擇你寫的代碼的位置,端口你看著定,寫完了 點(diǎn)新增,右側(cè)就出現(xiàn)你設(shè)置的了。

肯定有一些用xammp或者用 wamp的朋友這個(gè)時(shí)候懵逼了,怎么辦 ,我想辦法裝一個(gè)xampp,給你們截代碼吧,

 VirtualHost *:80  DocumentRoot E:/project/short  ServerName d.cn Directory E:/project/short  DirectoryIndex index.html index.php  AllowOverride All Order deny,allow Allow from all /Directory  /VirtualHost 
Allow from all /Directory /VirtualHost

這代代碼 寫在哪個(gè)文件呢,寫在xampp/apache/conf/extra/httpd-vhosts.conf 你的xampp裝哪個(gè)盤就去哪個(gè)盤找了,還有 DocumentRoot也要寫你的對應(yīng)的位置哦

3.改域名配置文件

位置在
C:/Windows/System32/drivers/etc/hosts

我寫的是這樣的

4.配置偽靜態(tài)文件

在項(xiàng)目的根目錄下創(chuàng)建一個(gè).htaccess文件,里面代碼是

 IfModule mod_rewrite.c RewriteEngine onRewriteRule ^(/S{1,7})$ index.php?code=$1 [L] /IfModule 

5.寫系統(tǒng)公共函數(shù)

func.php

 ?phpfunction b64dec($b64) { //64進(jìn)制轉(zhuǎn)換成10進(jìn)制 $map = array( 0 = 0, 1 = 1, 2 = 2, 3 = 3, 4 = 4, 5 = 5, 6 = 6, 7 = 7, 8 = 8, 9 = 9, A = 10, B = 11, C = 12, D = 13, E = 14, F = 15, G = 16, H = 17, I = 18, J = 19, K = 20, L = 21, M = 22, N = 23, O = 24, P = 25, Q = 26, R = 27, S = 28, T = 29, U = 30, V = 31, W = 32, X = 33, Y = 34, Z = 35, a = 36, b = 37, c = 38, d = 39, e = 40, f = 41, g = 42, h = 43, i = 44, j = 45, k = 46, l = 47, m = 48, n = 49, o = 50, p = 51, q = 52, r = 53, s = 54, t = 55, u = 56, v = 57, w = 58, x = 59, y = 60, z = 61, _ = 62, = = 63 ); $dec = 0; $len = strlen($b64); for ($i = 0; $i $len; $i++) { $b = $map[$b64{$i}]; if ($b === NULL) { return FALSE; } $j = $len - $i - 1; $dec += ($j == 0 ? $b : (2 (6 * $j - 1)) * $b); } return $dec;}function decb64($dec) { //10進(jìn)制轉(zhuǎn)換成64進(jìn)制 if ($dec 0) { return FALSE; } $map = array( 0= 0 ,1= 1 ,2= 2 ,3= 3 ,4= 4 ,5= 5 ,6= 6 ,7= 7 ,8= 8 ,9= 9 , 10= A ,11= B ,12= C ,13= D ,14= E ,15= F ,16= G ,17= H ,18= I ,19= J , 20= K ,21= L ,22= M ,23= N ,24= O ,25= P ,26= Q ,27= R ,28= S ,29= T , 30= U ,31= V ,32= W ,33= X ,34= Y ,35= Z ,36= a ,37= b ,38= c ,39= d , 40= e ,41= f ,42= g ,43= h ,44= i ,45= j ,46= k ,47= l ,48= m ,49= n , 50= o ,51= p ,52= q ,53= r ,54= s ,55= t ,56= u ,57= v ,58= w ,59= x , 60= y ,61= z ,62= _ ,63= = , ); $b64 = do { $b64 = $map[($dec % 64)] . $b64; $dec /= 64; } while ($dec = 1); return $b64;}

6.寫核心方法

創(chuàng)建index.php

 ?phpinclude func.php define( HOST , localhost define( DB_NAME , test define( USER , root define( PASS , root function make_short_url($url){ $url=str_ireplace( http:// , ,$url); $pdo = new PDO( 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 function get_long_url($code){ $pdo = new PDO( 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 鏈接錯(cuò)誤 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 print make_short_url($url);}

最后瀏覽器測試下

把生成的地址 粘貼到瀏覽器地址欄一訪問就跳轉(zhuǎn)到 www.cctv.com了

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請關(guān)注PHP !

相關(guān)推薦:

PHP根據(jù)秒PHP持續(xù)時(shí)長的方法

php生成xml數(shù)據(jù)的方法

以上就是php生成短連接的方法的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 涿鹿县| 五莲县| 缙云县| 南康市| 浪卡子县| 潼南县| 洛扎县| 咸丰县| 班戈县| 崇州市| 高雄县| 吉水县| 琼结县| 彭水| 南召县| 昭苏县| 双城市| 喀喇沁旗| 周口市| 九龙坡区| 安宁市| 漾濞| 永寿县| 长顺县| 黑河市| 高淳县| 隆化县| 高要市| 太仓市| 江安县| 梓潼县| 留坝县| 新疆| 汕头市| 宁晋县| 明光市| 金溪县| 乌拉特前旗| 松潘县| 邵武市| 凤城市|