php短网址源码_PHP

短网址源码主要包括以下几个部分:

php短网址源码_PHP
(图片来源网络,侵删)

1、数据库连接和初始化

2、URL缩短算法实现

3、短链接到长链接的映射关系查询

4、短链接生成和存储

5、短链接访问处理

下面是详细的PHP代码实现:

<?php
// 数据库连接和初始化
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "short_url_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn>connect_error) {
    die("连接失败: " . $conn>connect_error);
}
// URL缩短算法实现
function generateShortUrl($longUrl) {
    global $conn;
    $shortUrl = substr(md5($longUrl), 0, 6);
    return $shortUrl;
}
// 短链接到长链接的映射关系查询
function getLongUrl($shortUrl) {
    global $conn;
    $sql = "SELECT long_url FROM short_url_mapping WHERE short_url='$shortUrl'";
    $result = $conn>query($sql);
    if ($result>num_rows > 0) {
        $row = $result>fetch_assoc();
        return $row["long_url"];
    } else {
        return null;
    }
}
// 短链接生成和存储
function storeShortUrl($longUrl) {
    global $conn;
    $shortUrl = generateShortUrl($longUrl);
    $sql = "INSERT INTO short_url_mapping (short_url, long_url) VALUES ('$shortUrl', '$longUrl')";
    if ($conn>query($sql) === TRUE) {
        return $shortUrl;
    } else {
        return null;
    }
}
// 短链接访问处理
if (isset($_GET['shortUrl'])) {
    $shortUrl = $_GET['shortUrl'];
    $longUrl = getLongUrl($shortUrl);
    if ($longUrl !== null) {
        header("Location: $longUrl");
    } else {
        echo "无效的短链接";
    }
} elseif (isset($_POST['longUrl'])) {
    $longUrl = $_POST['longUrl'];
    $shortUrl = storeShortUrl($longUrl);
    if ($shortUrl !== null) {
        echo "短链接: http://yourdomain.com/?shortUrl=$shortUrl";
    } else {
        echo "短链接生成失败";
    }
} else {
    echo "请输入长链接或短链接";
}
?>

注意:请将上述代码中的$servername$username$password$dbname替换为实际的数据库连接信息,确保已经创建了名为short_url_db的数据库,并在其中创建了名为short_url_mapping的表,包含short_urllong_url两个字段。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/679234.html

(0)
未希的头像未希新媒体运营
上一篇 2024-06-09 21:03
下一篇 2024-06-09 21:05

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入