首页 > 编程语言 >php生成短链功能

php生成短链功能

时间:2024-08-17 14:55:08浏览次数:7  
标签:php url long 生成 location 短链 data

直接上代码

<?php
function shortUrl($url)
{
    $charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    $key = 'this-is-salt'; // 加盐
    $timestamp = time(); // 时间戳
    $random = mt_rand(); // 随机数
    $urlHash = md5($key . $url . $random . $url);
    // 只使用哈希值的一部分来生成短链接
    $shortUrl = '';
    for ($i = 0; $i < 6; $i++) {
        // 取哈希值的某一部分并进行模运算,然后转换为字符
        $index = hexdec(substr($urlHash, $i, 1)) % strlen($charset);
        $shortUrl .= $charset[$index];
    }

    return $shortUrl;
}

$input = 'https://detail.tmall.com/item.htm?spm=a21bo.jianhua/a.201876.d2.5af92a89Ifuxtc&id=749045568815&xxc=ad_ct&priceTId=2147802817238772080956563e4b72&pisk=fsCEs5qKrWFedmXkbhOy7kLPS-RphIEjY_tWrabkRHxnOXilQZIyAzepOO-PjG-h4aUpr3jl436QCS_dJQducQPbGwQLY3l1YUvkIzYDz2fj0wncJQdu49XRseQd0bjKJuJu7CYyz0AkKpVMjhLWqDjkxdmMuEdkqgAu7hYW-DDkE3DMjEhcIwbo_E93unLdbjE6vp-c7-hoaacXKnj2jbqc_ervmwxZZbxLlPQF7wZEMNOdgi8fA5cF0ZCObFj0alRRXTjkzGVxVBBfvspNA-cGSCKMnTva-WbwTHJ25KuSpBWlv_JdL4UASBjOHnp3BlLNOs9yDdogxN_wxKWPAlhkAt7GbK1sfjORXTjkzGmF4ciJSadcw9ooUpY97naaS5VTcqbw5jfoeYpMMF-bReM-epY97naa7YHJIELwcyTC.'; // 长链
$output = shortUrl($input);
var_dump($output);
?>

存数据库,字段id,short_url,long_url这些字段就够了

处理短连的接口逻辑

public function longUrl(){
		    $short_url = $_GET['code'];
		    $data = 查数据库;
            //查不到就跳指定url
            if(empty($data)){
               header("location:https://www.taobao.com/");
            }else{
		       $url = $data['long_url'];
		       header("location:$url");
            }
}

标签:php,url,long,生成,location,短链,data
From: https://www.cnblogs.com/qcy-blog/p/18364389

相关文章

  • 括号生成-力扣
    classSolution{private:vector<string>result;stringstr;public:voidbacktracking(intn,intl,intr){if(l==n&&r==n){result.push_back(str);return;}if(l<n){......
  • 在亚马逊云科技上部署开源大模型并利用RAG和LangChain开发生成式AI应用
    项目简介:小李哥将继续每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案,帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWSAI最佳实践,并应用到自己的日常工作里。本次介绍的是如何在亚马逊云科技上利用SageMaker机器学习服务部署开源大模型,使用La......
  • 【生日视频制作】飞机机身AE模板修改文字软件生成器教程特效素材【AE模板】
    飞机机身生日视频制作教程AE模板改文字特效广软件告生成器素材【生日视频制作】飞机机身AE模板修改文字软件生成器教程特效素材【AE模板】生日视频制作步骤:安装AE软件下载AE模板把AE模板导入AE软件修改图片或文字渲染出视频......
  • 将VAE用于时间序列:生成时间序列的合成数据
    变分自编码器(VAEs)是一种生成式人工智能,因其能够创建逼真的图像而备受关注,它们不仅可以应用在图像上,也可以创建时间序列数据。标准VAE可以被改编以捕捉时间序列数据的周期性和顺序模式,然后用于生成合成数据。本文将使用一维卷积层、策略性的步幅选择、灵活的时间维度和季节性......
  • AIGC新手炼丹师快速生成属于自己的lora--示范样例:北条时行(出自:擅长逃跑的殿下)
    目录一.准备工作:安装stable-diffusion和sd-trainer二.准备数据集2.1确定你想要的数据集2.2准备数据集2.2.1对于人物类的数据集2.2.2数据集的处理2.2.3数据集所在文件夹参考位置(出于方便考虑,仅供参考):2.2.4由数据集生成标签                  2.2.5......
  • PHP初级栈进阶篇
    小刘小刘,下雨不愁(收藏,关注不迷路)这里我会更新一些php进阶知识点,新手想再进一步可以有个方向,也有个知识图谱的普及当然本篇不止写技术 会涉及一些进阶路线我也是在这里积累,希望和同行者一起进步为后来者少走些弯路你说。。。咋就需要学这么多那前端go linux 分布......
  • 最新AI生成视频工具!效果不输快手可灵,CogVideoX下载介绍
    要说AI生成视频最火的项目,当属国产的快手可灵了,甚至比OpenAI的Sora还要火,前者还是个ppt,可灵已经在落地公测了,博主在前段时间申请试用通道的时候,竟然排到几十万人开外的位置,好在最后还是拿到了使用资格,还没用上的外国友人只能干着急,在社交媒体发「求求了!」但就在最近,可灵开始......
  • STM32F103C8T6 HAL库生成2.4G通信
    STM32F103C8T6HAL库生成2.4G通信的报告一、引言本报告旨在阐述如何使用STM32F103C8T6微控制器及其HAL库实现基于2.4GHz频段的无线通信功能,通过NRF24L01无线模块实现数据的发送与接收。本次实验主要利用了STM32CubeMX进行项目配置,并使用KeilMDK-ARM作为开发环境进行编程。......
  • 最新AI生成视频工具!效果不输快手可灵,CogVideoX下载介绍
    要说AI生成视频最火的项目,当属国产的快手可灵了,甚至比OpenAI的Sora还要火,前者还是个ppt,可灵已经在落地公测了,博主在前段时间申请试用通道的时候,竟然排到几十万人开外的位置,好在最后还是拿到了使用资格,还没用上的外国友人只能干着急,在社交媒体发「求求了!」 但就在最近,可灵开始......
  • 基于flask+vue框架的大学生成绩管理系统[开题+论文+程序]-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高等教育的普及与信息化技术的飞速发展,大学生成绩管理成为高校教务管理中至关重要的一环。传统的手工成绩记录与管理方式不仅效率低下......