【发布时间】:2012-04-14 18:35:01
【问题描述】:
所以,我创建了一个文件托管站点,并开始使用一些表单构建器。但是,这些构建器不支持 PHP。现在,我想缩小一些 URL,我怎样才能在纯 HTML 中做到这一点,而不添加 PHP 方法。 goo[dot]gl、bit.ly、tinyurl.com 或其他任何东西我都很好!
【问题讨论】:
标签: php html url url-shortener
所以,我创建了一个文件托管站点,并开始使用一些表单构建器。但是,这些构建器不支持 PHP。现在,我想缩小一些 URL,我怎样才能在纯 HTML 中做到这一点,而不添加 PHP 方法。 goo[dot]gl、bit.ly、tinyurl.com 或其他任何东西我都很好!
【问题讨论】:
标签: php html url url-shortener
HTML 是一种标记语言。
如果你想使用一些 API,或者任何更面向编码的东西,你必须使用真正的编程语言 - 你选择:为了你的目的,PHP 将是最好的选择。
现在,如果您最终决定使用 PHP,那真的很容易。
代码(TinyURL):
<?php
function createTinyUrl($strURL) {
$tinyurl = file_get_contents("http://tinyurl.com/api-create.php?url=".$strURL);
return $tinyurl;
}
?>
用法:
<?php
$myTinyUrl = createTinyUrl("http://www.yourdomain.com/some-long-url-here");
?>
仅此而已! ;-)
【讨论】:
如果表单构建器不支持 PHP,您需要自己编写。 PHP 非常易于使用。
这是给你的一个例子。 (假设您在您的网络主机上设置了 PHP:)
使用扩展名 .PHP(或您的网络主机使用的任何内容 - 可能是 .PHP5 用于 php5)而不是 .HTML 保存文件
您可以使用超全局 $_GET 从地址栏中的 URL 中接受某些变量,例如:
$short_url = $_GET["q"];
由于我得到一个名为“q”的变量,如果您使用名为“q”的参数访问页面,我将存储该变量,例如:
http://your.site/?q=shorturl # Assumes your index file takes the 'q' variable
现在由您决定如何处理该变量。最好的办法是建立一个 MySQL 数据库,这样当你得到一个像 'shorturl' 这样的值时,你可以做一个快速的 SQL 查询来返回完整的地址。:
# Make DB connection
$db = new PDO("mysql:host='X.X.X.X';dbname='mydb'", $user, $secret);
# Function to search database for URL
function getFullURL($short_url) {
$result;
$sql = "SELECT full_url FROM tbl_addresses WHERE short_url='?'";
$query = $db->prepare($sql);
$query->execute(array($short_url));
$rows = $query->rowCount();
if ($rows == 1)
$result = $query->fetchAll();
return $result;
}
在 PHP 和 MySQL 中确实没有太多内容。
【讨论】: