📅  最后修改于: 2023-12-03 15:10:48.594000             🧑  作者: Mango
树枝网址是一个使用 PHP 编写的短链接生成器。它允许用户将较长的 URL 缩短成更短的 URL,便于在社交媒体、电子邮件或其他人之间共享。
在安装树枝网址之前,您需要确保已安装 PHP 和 MySQL。您还可以使用 Web 服务器(如 Apache 或 Nginx)将树枝网址部署到公共网络上。
下载树枝网址的源代码,并将其复制到您的 Web 服务器的 document root 目录中。
创建一个名为 “urls” 的数据库,并在其中执行以下 SQL 命令:
CREATE TABLE IF NOT EXISTS `urls` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`url` varchar(500) NOT NULL,
`short_code` varchar(20) NOT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
编辑 config.php 文件,配置数据库连接信息和网站根 URL:
define('DB_HOST', 'localhost');
define('DB_USER', 'username');
define('DB_PASS', 'password');
define('DB_NAME', 'urls');
define('ROOT_URL', 'http://example.com');
要生成短链接,请访问网站根 URL 然后在输入框中输入您要缩短的 URL,然后单击生成按钮。生成的短链接将在输入框下方显示。
要访问短链接,请在浏览器的地址栏中输入生成的短链接。树枝网址将重定向到原始 URL。
当用户输入要缩短的 URL 时,树枝网址将检查该 URL 是否已存在于数据库中。如果是,则返回相应的短链接。否则,树枝网址将生成一个随机的短代码,将原始 URL 和短代码插入数据库,并返回新生成的短链接。
当用户访问短链接时,树枝网址将查找对应的原始 URL,并将用户重定向到该 URL。
以下是树枝网址的代码片段,用于生成短链接:
function generateShortCode($length = 6) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$shortCode = '';
for ($i = 0; $i < $length; $i++) {
$shortCode .= $characters[rand(0, $charactersLength - 1)];
}
return $shortCode;
}
$url = $_POST['url'];
if (filter_var($url, FILTER_VALIDATE_URL)) {
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
$stmt = $mysqli->prepare('SELECT short_code FROM urls WHERE url = ?');
$stmt->bind_param('s', $url);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0) {
$stmt->bind_result($shortCode);
$stmt->fetch();
} else {
do {
$shortCode = generateShortCode();
$stmt = $mysqli->prepare('SELECT id FROM urls WHERE short_code = ?');
$stmt->bind_param('s', $shortCode);
$stmt->execute();
$stmt->store_result();
$exists = $stmt->num_rows;
$stmt->close();
} while ($exists);
$stmt = $mysqli->prepare('INSERT INTO urls (url, short_code, created_at) VALUES (?, ?, ?)');
$stmt->bind_param('sss', $url, $shortCode, date('Y-m-d H:i:s'));
$stmt->execute();
}
$stmt->close();
$mysqli->close();
$shortUrl = ROOT_URL . '/' . $shortCode;
}
代码片段中包括:
树枝网址是一个简单但非常有用的工具,可帮助用户生成短链接并轻松地分享长 URL。它是使用 PHP 和 MySQL 编写的,并易于部署到 Web 服务器上。以上就是树枝网址的介绍,希望对您有所帮助!