php余址转换实现

Jun 13, 2016 pm 12:15 PM
class gt lt quot url

php短址转换实现

从昨天下午到现在 推翻了一个又一个的信息存储方案,从mysql到加上内存不受限制的file_get_contents,再到格式化输入的fscanf,最终选择了比较成熟稳定的读取ini的方法。

允许转载,转载须注明出处。

整个主程序只有两个文件 zipurl.php、index.php

zipurl.php:

<?php #此文件用于转换url#整理urlfunction 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"><div class="am-g">  <div 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>      <div><button type="submit" class="am-btn am-btn-primary am-btn-block">转换</button></div>    </form>  </div>
</div>
Copier après la connexion
index.php

<?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="'.readfiles($str).'";';}main();#统计部分?&gt;<meta charset="utf-8"><title>ZIP your URL</title><link rel="stylesheet" href="assets/css/amazeui.min.css"><div class="am-g">  <div 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>  </div>
</div>
Copier après la connexion

临时文件url.tmp

aaaaa=http://baidu.com




Déclaration de ce site Web
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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles sont les différences entre Huawei GT3 Pro et GT4 ? Quelles sont les différences entre Huawei GT3 Pro et GT4 ? Dec 29, 2023 pm 02:27 PM

Quelles sont les différences entre Huawei GT3 Pro et GT4 ?

Introduction à la fonction PHP — get_headers() : récupère les informations d'en-tête de réponse de l'URL Introduction à la fonction PHP — get_headers() : récupère les informations d'en-tête de réponse de l'URL Jul 25, 2023 am 09:05 AM

Introduction à la fonction PHP — get_headers() : récupère les informations d'en-tête de réponse de l'URL

Pourquoi NameResolutionError(self.host, self, e) de e et comment le résoudre Pourquoi NameResolutionError(self.host, self, e) de e et comment le résoudre Mar 01, 2024 pm 01:20 PM

Pourquoi NameResolutionError(self.host, self, e) de e et comment le résoudre

Comment obtenir votre identifiant Steam en quelques étapes ? Comment obtenir votre identifiant Steam en quelques étapes ? May 08, 2023 pm 11:43 PM

Comment obtenir votre identifiant Steam en quelques étapes ?

Comment utiliser les classes et les méthodes en Python Comment utiliser les classes et les méthodes en Python Apr 21, 2023 pm 02:28 PM

Comment utiliser les classes et les méthodes en Python

Comment utiliser l'encodage et le décodage d'URL en Java Comment utiliser l'encodage et le décodage d'URL en Java May 08, 2023 pm 05:46 PM

Comment utiliser l'encodage et le décodage d'URL en Java

Correctif : l'outil de capture ne fonctionne pas sous Windows 11 Correctif : l'outil de capture ne fonctionne pas sous Windows 11 Aug 24, 2023 am 09:48 AM

Correctif : l'outil de capture ne fonctionne pas sous Windows 11

Remplacer le nom de classe d'un élément à l'aide de jQuery Remplacer le nom de classe d'un élément à l'aide de jQuery Feb 24, 2024 pm 11:03 PM

Remplacer le nom de classe d'un élément à l'aide de jQuery

See all articles