网址缩短服务是一种将长网址转换为更短网址的服务,这在分享链接时非常有用,尤其是当链接过长或者想要隐藏原始链接时。PHP是一种流行的服务器端脚本语言,可以用来实现网址缩短服务。
网址缩短服务通常包括以下几个组件:
以下是一个简单的PHP网址缩短服务的示例代码:
<?php
// 数据库连接
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "url_shortener";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 生成短网址
function generateShortUrl() {
return substr(md5(uniqid(rand(), true)), 0, 6);
}
// 缩短网址
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$longUrl = $_POST['longUrl'];
$shortUrl = generateShortUrl();
$sql = "INSERT INTO url_mapping (long_url, short_url) VALUES ('$longUrl', '$shortUrl')";
if ($conn->query($sql) === TRUE) {
echo "短网址: http://yourdomain.com/$shortUrl";
} else {
echo "错误: " . $sql . "<br>" . $conn->error;
}
}
// 重定向短网址
if (isset($_GET['shortUrl'])) {
$shortUrl = $_GET['shortUrl'];
$sql = "SELECT long_url FROM url_mapping WHERE short_url = '$shortUrl'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
header("Location: " . $row["long_url"]);
} else {
echo "短网址无效";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>网址缩短服务</title>
</head>
<body>
<h1>网址缩短服务</h1>
<form method="post">
<label for="longUrl">长网址:</label>
<input type="text" id="longUrl" name="longUrl">
<button type="submit">缩短</button>
</form>
</body>
</html>
网址缩短服务是一个实用的功能,可以通过PHP轻松实现。通过上述示例代码,你可以快速搭建一个基本的网址缩短服务,并根据需要进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云