tinyurl
Since we've already figured out how to create TinyURL URLs remotely using PHP, we may as well create a small AJAX-enabled tiny URL creator. Using MooTools to do so is almost too easy.
由于我们已经找到了如何使用PHP远程创建TinyURL URL的方法 ,因此我们也可以创建一个支持AJAX的小型URL创建器。 使用MooTools这样做太容易了。
XHTML(窗体) (The XHTML (Form))
<p><strong>URL:</strong> <input type="text" id="url" size="40" /> <input type="button" id="geturl" value="Get URL" /></p>
<p id="newurl"></p>
We need an input box where the user will enter their a URL, a button to trigger the process, and a placeholder to put the new, tiny URL.
我们需要一个输入框,用户将在其中输入其URL,一个按钮以触发该过程以及一个占位符以放置新的微小URL。
PHP (The 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;
}
This PHP snippet grabs and returns the tiny URL from TinyURL.
该PHP代码段从TinyURL抓取并返回微小的URL。
MooTools JavaScript (The 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');
});
}
});
});
Just a tiny MooTools class and basic usage. The only parameter, "checkURL," is the URL to the PHP snippet above -- NOT the long URL we want to shrink. The real action happens when the createURL() method is invoked. You pass the method a URL to shorten and an "onComplete" function that takes action when the URL has been received.
只是一个很小的MooTools类和基本用法。 唯一的参数“ checkURL”是上述PHP代码段的URL,而不是我们要缩小的长URL。 真正的动作发生在调用createURL()方法时。 您为该方法传递了一个要缩短的URL和一个“ onComplete”函数,该函数在收到URL时即会起作用。
TinyURL is a great service!
TinyURL是一项很棒的服务!
tinyurl