Compactador de URL utilizando manipulação de diretórios do Linux com PHP
Esse artigo mostra com criar um compactador de URL como a exemplo dos sites migre.me, bit.ly, tinyurl.com etc para utilização em sites como o Twitter. Utiliza a linguagem de programação PHP para fazer a manipulação de diretórios dentro do filesystem do servidor web que fornecerá o serviço.
Criando um formulário em HTML para enviar da URL ao sistema compactador de URL
Nesse artigo compartilharei como criar um site como o migre.me (compactador de URL).
Primeiramente busque no www.vivaolinux.com.br algum artigo que ensine a instalação e configuração do PHP5 e o Apache.
Nosso sistema será composto somente de 2 arquivos de extensão .php que deverão ser hospedados no caminho absoluto: /var/www/nome_sua_aplicacao/ ou conforme configuração do seu web server.
index.php:
Nesse primeiro arquivo é onde deve ser preenchido o formulário que será enviado para o compactador de URL "geraurl.php" que será explicitado mais a frente, após a explicação do código acima.
Nesse arquivo "index.php" temos uma mistura de HTML com código PHP, além do JavaScript, que serve nesse caso para fazer a cópia automática para a área de transferência de sua RAM da sua nova URL. Sintetizando: Ctrl+C ativado pelo evento onClick do JavaScript.
O código PHP somente verifica se há alguma variável chegando via método GET do protocolo HTTP. Caso afirmativo, será mostrado na tela o link antigo e o novo link. Caso negativo, visualiza-se somente o formulário HTML.
Um exemplo por ser encontrado no endereço:
Primeiramente busque no www.vivaolinux.com.br algum artigo que ensine a instalação e configuração do PHP5 e o Apache.
Nosso sistema será composto somente de 2 arquivos de extensão .php que deverão ser hospedados no caminho absoluto: /var/www/nome_sua_aplicacao/ ou conforme configuração do seu web server.
index.php:
<html>
<head>
<script>
function copytoclipboard()
{
this.document.execCommand("SelectAll", true);
this.document.execCommand("Copy", true);
this.document.execCommand("UnSelect", true);
}
</script>
</head>
<body>
<form action="geraurl.php" method="post">
<pre>Link:<input type="text" name="URL"/><input type="submit" value="enviar" />
</pre>
</form>
</body>
</html>
<?
if($_GET){
echo '<pre>Old link: http://' . $_GET["u"] .'<br/>
New link: <a onclick="copytoclipboard();" target="_blank" href="'.$_GET["nl"].'">' . $_GET["nl"] .'</a><br /><br />
Contribuição para <a target="_blank"href="http://twitter.com/bambuzal">vivaolinux.com.br</a></pre>';}
?>
<head>
<script>
function copytoclipboard()
{
this.document.execCommand("SelectAll", true);
this.document.execCommand("Copy", true);
this.document.execCommand("UnSelect", true);
}
</script>
</head>
<body>
<form action="geraurl.php" method="post">
<pre>Link:<input type="text" name="URL"/><input type="submit" value="enviar" />
</pre>
</form>
</body>
</html>
<?
if($_GET){
echo '<pre>Old link: http://' . $_GET["u"] .'<br/>
New link: <a onclick="copytoclipboard();" target="_blank" href="'.$_GET["nl"].'">' . $_GET["nl"] .'</a><br /><br />
Contribuição para <a target="_blank"href="http://twitter.com/bambuzal">vivaolinux.com.br</a></pre>';}
?>
Nesse primeiro arquivo é onde deve ser preenchido o formulário que será enviado para o compactador de URL "geraurl.php" que será explicitado mais a frente, após a explicação do código acima.
Nesse arquivo "index.php" temos uma mistura de HTML com código PHP, além do JavaScript, que serve nesse caso para fazer a cópia automática para a área de transferência de sua RAM da sua nova URL. Sintetizando: Ctrl+C ativado pelo evento onClick do JavaScript.
O código PHP somente verifica se há alguma variável chegando via método GET do protocolo HTTP. Caso afirmativo, será mostrado na tela o link antigo e o novo link. Caso negativo, visualiza-se somente o formulário HTML.
Um exemplo por ser encontrado no endereço:
$rand = substr(rand(), 0, 4);
if(is_dir($rand) === TRUE)
{
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">';
echo '<html>';
echo '<head>';
echo '<title>Twitter.com/bambuzal</title>';
echo '<META HTTP-EQUIV=REFRESH CONTENT="1;URL=geraurl.php?URL=<?echo $_POST['URL']; ?>">';
echo '</head>';
echo '<body>';
echo '</body>';
echo '</html>';
die();
}
Dessa forma, caso o diretório gerado ja exista, o script geraurl.php é reiniciado. Da para deixar o script mais prático que isso, mas echo que assim da para entender legal o que eu quis dizer.
Abraços!