Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour implémenter un saut d'URL court

Comment utiliser PHP pour implémenter un saut d'URL court

*文
*文original
2017-12-25 15:40:512446parcourir

Comment utiliser PHP pour implémenter un saut d'URL court ? Cet article présente principalement la méthode d'implémentation de la conversion d'URL courtes PHP, impliquant les compétences opérationnelles des URL et des chaînes, et a une certaine valeur de référence. J'espère que cela aidera tout le monde !

D'hier après-midi à aujourd'hui, j'ai renversé une solution de stockage d'informations après l'autre, de mysql à file_get_contents avec une mémoire illimitée, à fscanf pour les entrées formatées, et j'ai finalement choisi une méthode de lecture ini plus mature et plus stable.

L'ensemble du programme principal n'a que deux fichiers zipurl.php et index.php

le fichier zipurl.php est le suivant :

<?php   
//此文件用于转换url  
//整理url  
function dealurl($url)  
{  
    if($url[4]!=&#39;:&#39;)$url=&#39;http://&#39;.$url;  
    return $url;  
}  
function ranum()  
{  
$str="0123456789abcdefghijklmnopqrstuvwxyz";  
$tmp=$str[mt_rand(0,35)].$str[mt_rand(0,35)].$str[mt_rand(0,35)].$str[mt_rand(0,35)].$str[mt_rand(0,35)];  
return $tmp;  
}  
//存号  
function zipurl($urls)  
{  
    //查号去重  
    $handle = fopen("url.tmp","r+");  
    $array=parse_ini_file("url.tmp",true);  
    if(array_search($urls, $array))return array_search($urls, $array);  
    $num=ranum();  
    fprintf($handle,"%s=%s\r",$num,$urls);  
    fclose($handle);  
    return $num;  
}  
function main()  
{  
    if($url=$_GET[&#39;url&#39;])  
    {  
        $url=dealurl($url);  
        $url=zipurl($url);  
        echo "http://localhost/?".$url;  
    }  
}  
main();  
?> 
<meta charset="utf-8">  
<title>ZIP your URL</title>  
<link rel="stylesheet" href="assets/css/amazeui.min.css">  
<p class="am-g">  
  <p class=" col-md-8 col-sm-centered">  
    <form class="am-form" action="zipurl.php" method="get">  
      <fieldset class="am-form-set">  
        <input type="text" id="url" name="url" placeholder="输入你想转换的网址">  
      </fieldset>  
      <p><button type="submit" class="am-btn am-btn-primary am-btn-block">转换</button></p>  
    </form>  
  </p>  
</p>



Le fichier

index.php est le suivant :

<?php  
//查号   
//短址访问部分  
function readfiles($strs)  
{  
    $array=parse_ini_file("url.tmp",true);  
    var_dump($array);  
    return $array[$strs];  
}  
function main()  
{  
    //转到模块  
    if($str=$_SERVER[&#39;QUERY_STRING&#39;])  
    echo &#39;<script language="javascript">location.href="&#39;.readfiles($str).&#39;";</script>&#39;;  
}  
main();  
//统计部分  
?>  
<meta charset="utf-8">  
<title>ZIP your URL</title>  
<link rel="stylesheet" href="assets/css/amazeui.min.css">  
<p class="am-g">  
  <p class=" col-md-8 col-sm-centered">  
    <form class="am-form" action="zipurl.php" method="get">  
      <fieldset class="am-form-set">  
        <input type="text" id="url" name="url" placeholder="输入你想转换的网址">  
      </fieldset>  
      <button type="submit" class="am-btn am-btn-primary am-btn-block">转换</button>  
    </form>  
  </p>  
</p>

Fichier temporaire url.tmp :
aaaaa=http://baidu.com

Recommandations associées :

Exemple d'analyse de la façon dont PHP implémente les requêtes http simulées

Comment PHP envoie un tableau via une requête http Exemple de partage

php implémente la page d'enregistrement de connexion des membres avec HTML plus Session et Cookie

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn