PHP 无数据库短网址生成器:快速、简单实现 URL 缩短
PHP 无数据库短网址生成器:快速、简单实现 URL 缩短
本文将介绍如何使用 PHP 代码构建一个无需数据库的简单短网址生成器,方便快速将长 URL 缩短为短链接,并实现跳转功能。代码简洁易懂,方便学习和应用。
代码实现
<?php
function generateShortURL($url) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$shortURL = '';
// 生成一个6位长度的短网址
for ($i = 0; $i < 6; $i++) {
$randomIndex = rand(0, strlen($characters) - 1);
$shortURL .= $characters[$randomIndex];
}
// 在当前域名后面添加短网址作为参数
$shortURL = $_SERVER['HTTP_HOST'] . '/?s=' . $shortURL;
// 将长网址与短网址对应关系保存在session中
session_start();
$_SESSION[$shortURL] = $url;
return $shortURL;
}
function getLongURL($shortURL) {
session_start();
// 从session中获取对应的长网址
if (isset($_SESSION[$shortURL])) {
return $_SESSION[$shortURL];
} else {
return false;
}
}
// 获取提交的长链接参数
$longURL = isset($_GET['url']) ? $_GET['url'] : '';
if ($longURL) {
// 生成短网址
$shortURL = generateShortURL($longURL);
echo 'Short URL: ' . $shortURL;
} else {
// 获取跳转的短网址参数
$shortURL = isset($_GET['s']) ? $_GET['s'] : '';
if ($shortURL) {
// 获取长网址并进行跳转
$longURL = getLongURL($shortURL);
if ($longURL) {
header('Location: ' . $longURL);
exit();
} else {
echo 'Invalid short URL.';
}
} else {
echo 'Missing URL parameter.';
}
}
?>
使用方法
-
将上述代码保存为一个PHP文件,比如
shorturl.php。 -
将
shorturl.php文件放置在你的服务器上,确保服务器支持PHP。 -
通过以下方式访问该程序:
- 生成短网址:
http://your-domain.com/shorturl.php?url=长链接 - 跳转到长网址:
http://your-domain.com/shorturl.php?s=短网址
其中,
your-domain.com是你的域名或服务器IP地址,长链接是你要缩短的长网址,短网址是通过该程序生成的短网址。 - 生成短网址:
注意
由于此程序没有使用数据库,所以每次重启服务器后,之前生成的短网址将失效。如果需要长期保存短网址与长网址的对应关系,建议使用数据库进行存储。
原文地址: https://www.cveoy.top/t/topic/bTL0 著作权归作者所有。请勿转载和采集!