开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

使用 TinyURL、MooTools 和 PHP 创建微型 URL

既然我们已经弄清楚了如何使用 PHP 远程创建 TinyURL URL,我们不妨创建一个支持 AJAX 的小型 URL 创建器。使用 MooTools 做到这一点几乎太容易了。

XHTML(表单)

<p><strong>URL:</strong> <input type="text" id="url" size="40" /> <input type="button" id="geturl" value="Get URL" /></p>
<p id="newurl"></p>

我们需要一个输入框,用户可以在其中输入他们的 URL,一个触发流程的按钮,以及一个用于放置新的小 URL 的占位符。

PHP

if(isset($_GET['url'])) 
{
	die(get_tiny_url(urldecode($_GET['url'])));
}

//gets the data from a URL  
function get_tiny_url($url)  
{  
	$ch = curl_init();  
	$timeout = 5;  
	curl_setopt($ch,CURLOPT_URL,'http://tinyurl.com/api-create.php?url='.$url);  
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);  
	$data = curl_exec($ch);  
	curl_close($ch);  
	return $data;  
}

此 PHP 代码段从 TinyURL 抓取并返回微型 URL。

MooTools JavaScript

window.addEvent('domready',function() {
	var TinyURL = new Class({
		//implements
		Implements: [Options],
		//options
		options: {
			checkURL: ''
		},
		//initialization
		initialize: function(options) {
			//set options
			this.setOptions(options);
		},
		//a method that does whatever you want
		createURL: function(url,complete) {
			var req = new Request({
				url: this.options.checkURL + '?url=' + url,
				method: 'get',
				async: false,
				onComplete: function(response) { complete(response); }
			}).send();
		}
	});
	
	
	// usage //
	var new_tiny_url = new TinyURL({
		checkURL: 'grab-tiny-url.php'
	});
	
	$('geturl').addEvent('click',function() {
		if($('url').value) {
			var newu = new_tiny_url.createURL($('url').value,function(resp) {
				$('newurl').set('html','The TinyURL is ' + resp + '.  Go ahead, try it!').setStyle('color','green');
			});
		}
	});
});

只是一个很小的 ​​MooTools 类和基本用法。唯一的参数“checkURL”是上面 PHP 片段的 URL——不是我们想要压缩的长 URL。真正的动作发生在调用 createURL() 方法时。您向该方法传递一个要缩短的 URL 和一个“onComplete”函数,该函数在收到 URL 时采取行动。

TinyURL 是一项很棒的服务!

未经允许不得转载:我爱分享网 » 使用 TinyURL、MooTools 和 PHP 创建微型 URL

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏