域名缩短服务是一种将长网址转换为更短网址的服务,便于用户记忆和分享。这种服务通常通过一个短链接生成器来实现,用户输入长网址后,系统会生成一个对应的短网址。当用户访问这个短网址时,系统会自动将其重定向到原始的长网址。
以下是一个简单的PHP代码示例,用于生成短链接并进行重定向:
<?php
// 数据库连接(示例)
$host = 'localhost';
$dbname = 'short_url_db';
$user = 'root';
$pass = '';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
} catch (PDOException $e) {
die("数据库连接失败: " . $e->getMessage());
}
// 生成短链接
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['long_url'])) {
$long_url = $_POST['long_url'];
$short_code = generateShortCode(); // 自定义函数,生成短链接代码
$stmt = $pdo->prepare("INSERT INTO short_urls (long_url, short_code) VALUES (?, ?)");
$stmt->execute([$long_url, $short_code]);
echo "短链接已生成: http://yourdomain.com/{$short_code}";
}
// 重定向短链接
if (isset($_GET['code'])) {
$short_code = $_GET['code'];
$stmt = $pdo->prepare("SELECT long_url FROM short_urls WHERE short_code = ?");
$stmt->execute([$short_code]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row) {
header("Location: " . $row['long_url']);
} else {
echo "短链接无效";
}
}
// 自定义函数:生成短链接代码
function generateShortCode() {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$short_code = '';
for ($i = 0; $i < 6; $i++) {
$short_code .= $characters[rand(0, strlen($characters) - 1)];
}
return $short_code;
}
?>
请注意,以上代码仅为示例,实际应用中需要根据具体需求进行修改和完善。同时,为了确保安全性,建议在生产环境中使用更严格的验证和加密措施。
领取专属 10元无门槛券
手把手带您无忧上云