php 생 성 짧 은 URL/짧 은 링크 원리 와 용법 실례 분석
4628 단어 php짧 은 인터넷 주소짧 은 링크
수요
우리 의 프로젝트 에서 만약 에 우리 의 활동 링크 를 더욱 잘 전파 해 야 한다 면 링크 가 너무 길 면 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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.