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.';
    }
}
?>

使用方法

  1. 将上述代码保存为一个PHP文件,比如shorturl.php

  2. shorturl.php文件放置在你的服务器上,确保服务器支持PHP。

  3. 通过以下方式访问该程序:

    • 生成短网址:http://your-domain.com/shorturl.php?url=长链接
    • 跳转到长网址:http://your-domain.com/shorturl.php?s=短网址

    其中,your-domain.com是你的域名或服务器IP地址,长链接是你要缩短的长网址,短网址是通过该程序生成的短网址。

注意

由于此程序没有使用数据库,所以每次重启服务器后,之前生成的短网址将失效。如果需要长期保存短网址与长网址的对应关系,建议使用数据库进行存储。

PHP 无数据库短网址生成器:快速、简单实现 URL 缩短

原文地址: https://www.cveoy.top/t/topic/bTL0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录