php 생 성 짧 은 URL/짧 은 링크 원리 와 용법 실례 분석

본 논문 의 사례 는 phop 생 성 짧 은 사이트/짧 은 링크 원리 와 용법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
수요
우리 의 프로젝트 에서 만약 에 우리 의 활동 링크 를 더욱 잘 전파 해 야 한다 면 링크 가 너무 길 면 1 은 아름 답지 않 고 2 는 너무'육중 하 다'.예 를 들 어 핀 토,타 오 바 오 연맹,그들의 홍보 링크 는 모두 짧 은 링크 가 있 고 시 나 웨 이 보 도 있다.
그러나 이것 은 항상 다른 사람의 것 입 니 다.우 리 는 다른 사람의 API 를 호출 하여 생 성 되 고 불안정 하기 때문에 스스로 만 들 수 있 습 니 다.조금 짧 은 도 메 인 이름 을 등록 하면 됩 니 다.
원본 코드 생 성 api.php

<?php
header("Content-type:application/json");

//GET URL
$url = $_GET["url"];

//    
if (trim(empty($url))) {
  echo "{\"code\":\"1\",\"url\":\"   URL\"}";
}else{
  //       
  $dbhost = "xxx";//        
  $dbuser = "xxx";//     
  $dbpwd = "xxx";//     
  $dbname = "xxx";//    

  //     
  $con = mysql_connect($dbhost,$dbuser,$dbpwd);
  if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
  mysql_select_db($dbname, $con);

  //            URL
  $check = mysql_query("SELECT * FROM    WHERE long_url = '$url'");
  $check_result = mysql_num_rows($check);
  //      ,            
  if ($check_result) {
    while ($row_yicunzai = mysql_fetch_array($check)) {
      $yicunzai_key = $row_yicunzai["dwz_key"];
      //  KEY
      echo "{\"code\":\"0\",\"url\":\"  ".$yicunzai_key."\"}";
    }
  }else{
    //  KEY
    $key_str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
    $key = substr(str_shuffle($key_str),mt_rand(0,strlen($key_str)-11),4);

    //     
    mysql_query("INSERT INTO lkydwz (long_url, dwz_key) VALUES ('$url', '$key')");

    //    
    echo "{\"code\":\"0\",\"url\":\"  ".$key."\"}";
  }

  //       
  mysql_close($con);
}

?>

원본 index.php 접근

<?php
header("Content-Type:text/html;charset=utf-8");
//        KEY
$key = $_GET["id"];
echo "<title>    </title>";
//    
if (trim(empty($key))) {
  echo "     ";
}else{
  //  KEY
  //       
  $dbhost = "xxx";//        
  $dbuser = "xxx";//     
  $dbpwd = "xxx";//     
  $dbname = "xxx";//    
  //     
  $con = mysql_connect($dbhost,$dbuser,$dbpwd);
  if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
  mysql_select_db($dbname, $con);

  //     ,  KEY         
  //          KEY
  $check = mysql_query("SELECT * FROM    WHERE dwz_key = '$key'");
  $check_result = mysql_num_rows($check);
  //    ,          
  if ($check_result) {
    while ($row_long_url = mysql_fetch_array($check)) {
      $long_url = $row_long_url["long_url"];
      // echo "<script>location.href=\"".$long_url."\";</script>";
      header("Location: $long_url");
    }
  }else{
    echo "     ";
  }
}
?>

아파 치 규칙.htaccess

RewriteEngine On
#RewriteBase / 
RewriteRule ^(\w+)$ index.php?id=$1

데이터베이스 필드

id(int)  
dwz_key(varchar)
long_url(text)
creat_time(TIMESTAMP)


사용 방법
1.api.php?url=긴 링크 를 방문 하면 짧 은 링크 를 생 성 할 수 있 습 니 다.예 를 들 어 JSON 으로 돌아 가 는 것 입 니 다.

{"code":"0","url":"http://xxx.cn/Hp8R"}
2.htaccess 를 새로 만 들 고 위의 규칙 을 복사 하여 저장 합 니 다.
3.index.php 를 새로 만 들 고 위의 코드 를 복사 하여 데이터 베 이 스 를 설정 합 니 다.방문 하 다.http://xxx.cn/Hp8R긴 링크 로 자동 으로 이동 합 니 다.

PS:이 사이트 의 짧 은 사이트 생 성 도구(제3자 API 인터페이스 로 생 성 된 짧 은 사이트)를 추천 합 니 다.
짧 은 체인(짧 은 URL)온라인 생 성 도구:
http://tools.jb51.net/password/dwzcreate
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기