Tutorial Script de acortadores múltiples

vellenger

Piedra
Usuario de Piedra
Mensajes
35
Puntuación de reacción
0
Aqui les comparto este simple script que acorta los enlaces automaticamente de tres servidores conocidos como adfly linkbucks y shorte.
Haremos uso de la api de c/u de estos acortadores, el cual deberemos ingresarlo manualmente, el resto queda solo por usarlo.
Consiste simplemente de ingresar las url que querramos que sean acortadas, se pueden usar de un solo acortador o de a dos o de a 3 a un solo enlace, ( adfly/linkbucks/shorte). Se puede ingresar de 1 enlace o de a varios.
Este pequeño sistemita usa un formulario para el envio de las url de enlaces que ingresamos, el cual generara en un archivo txt, este guardara los enlaces ingresados, ademas de hacer uso de cookie para guardar la opción elegida para acortar.
Posteriormete ya guardado los enlaces en el txt se procede a leer los enlaces guardados y atraves de unas funciones ya definidas para cada acortados quedara que lo programado actue en el proceso.


Creamos el archivo principal index.php​

HTML:
<html>
 <head>
 <title>Acortador Múltiple</title>
 <link href="vellenger.css" rel="stylesheet" type="text/css" />
</head>
<body>
	<br>
	<center><a href="index.php"><img class="imgh" alt="Inicio" title="Inicio" src="img/home.png"></a></center>
    <form action="short.php" method="POST">
	<table align="center">
	  <tr>
	   <td colspan="4"><textarea id="styled" name="url"></textarea></td>
	 </tr>
	 <tr align="center">
	   <td><input type='checkbox' name="1" value="1">adf.ly</td>
	   <td><input type='checkbox' name="2" value="5" >linkbucks.com</td>
	   <td><input type='checkbox' name="3" value="10">shorte.st</td>
	  </tr>
	  <tr><td colspan="4"><hr></td></tr>
	 <tr>
	  <td colspan="4" align="center"><input class="boton" type="submit" value="Enviar"></td>
	 </tr>
	 </table>
	</form>
<br>
</body>
</html>


Creamos el archivo que guardara los enlaces ingresado short.php​

HTML:
<?php
    if(isset($_POST["url"])){
	$v=0;$i=1;
	while($i<=4){
    @$v = $v+$_POST[$i];
    $i++;	
	}
	setcookie("short",$v,time()+60,"/");	
	$n = $_POST["url"];				 
	$u = "vellenger.txt";
	$cursor = fopen($u,"w");
	fwrite($cursor,$n);
    fclose($cursor);	
	header("Location: ver.php");	
	}else{
	header("Location: index.php");
	}
?>

Creamos el archivo configs.php el cual contendra los datos de sus acortadores.​

HTML:
<?php 
    //----------------------------------- ADFLY ----------------------------------------------//
	
    $key ="3bd6b0258113948a45ffc17734b120bf"; // API de adfly
    $uid ="911049";                           // ID de Referido
    $domain = 'adf.ly';                       // Dominio
    $advert_type = 'int';                     // Tipo
	
	
	//----------------------------------- LINKBUKCS ----------------------------------------------//
	
	$keyapi = "24b3dd1e3d3a4adf";             // API KEY
    $user = "vellenger";                      // USUARIO
	
	//----------------------------------- SHORTE ----------------------------------------------//
	
    $Skey="29a101baad589539828087ab5aeaf334";  // API KEY

?>


El archivo funciones.php contiene las funciones para acortar los enlaces​

HTML:
<?php
 
	function adfly($url, $key, $uid, $domain, $advert_type){
				  $api = 'http://api.adf.ly/api.php?';
				  $query = array(
					'key' => $key,
					'uid' => $uid,
					'advert_type' => $advert_type,
					'domain' => $domain,
					'url' => $url
				  );
				  $api = $api . http_build_query($query);
				  if ($data = file_get_contents($api))
					return $data;
	}
	
	function linkbucks($url,$keyapi,$user) {       
        $adts = '2';   
        $contype = '1';
        $domainss = 'linkbucks.com';  
        $postData = array('originalLink' => $url, 'user' => $user, 'apiPassword' => $keyapi, 'contentType' => $contype, 'adType' => $adts, 'domain' => $domainss);
        $jsonData = json_encode($postData);
        $curlObj = curl_init();
        curl_setopt($curlObj, CURLOPT_URL, 'https://www.linkbucks.com/api/createLink/single');
        curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($curlObj, CURLOPT_HEADER, 0);
        curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
        curl_setopt($curlObj, CURLOPT_POST, 1);
        curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData);
        $response = curl_exec($curlObj);
        $json = json_decode($response);
        curl_close($curlObj);
        return $json->link;
    }
	
	function shorte($url,$Skey){
            global $tsCore;    
            $curl_url = "https://api.shorte.st/s/".$Skey."/".$url;
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $curl_url);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $result = curl_exec($ch);
            curl_close($ch);
            $array = json_decode($result);
            $shortest = $array->shortenedUrl;
            return $shortest;
    }
	
	
	

?>


Creamos en archivo ver.php el cual mostrara el resultado obtenido​

HTML:
<html>

<head>
 <title>Enlaces Acortados</title>
 <link href="vellenger.css" rel="stylesheet" type="text/css" />
</head>
<body>
<br>
	<center><a href="index.php"><img class="imgh" alt="Inicio" title="Inicio" src="img/home.png"></a></center>
<?php
	
	include 'funciones.php';
	include_once 'configs.php';
	

	
	$file = fopen("vellenger.txt", "r") or exit("Unable to open file!");
    echo "<div class=\"resv\"><div class=\"data\">";
	while(!feof($file))
	{
	$url = fgets($file);
    
	if($_COOKIE['short']==1){
	echo  adfly($url, $key, $uid, $domain,$advert_type);
	}elseif($_COOKIE['short']==5){
	echo linkbucks($url,$keyapi,$user);
	}elseif($_COOKIE['short']==10){
	echo shorte($url,$Skey);
	}elseif($_COOKIE['short']==6){
	$a1= adfly($url, $key, $uid, $domain,$advert_type);
	echo linkbucks($a1,$keyapi,$user);
	}elseif($_COOKIE['short']==11){
	$a1= adfly($url, $key, $uid, $domain,$advert_type);
	echo shorte($a1,$Skey);
	}elseif($_COOKIE['short']==15){
	$a1= linkbucks($url,$keyapi,$user);
	echo shorte($a1,$Skey);
	}elseif($_COOKIE['short']==16){
	$a1= adfly($url, $key, $uid, $domain,$advert_type);
	$a2= linkbucks($a1,$keyapi,$user);
	echo shorte($a2,$Skey);
	}else{
	if($url==''){
	echo "No se ingreso una url.";
	}else{
	echo $url;
	}
	}
	echo "<br>";
	}
	echo "</div></div>";
	fclose($file);
?>
<br>
</body>
</html>

Finalmente creamos el archivo vellenger.css​

HTML:
body{
background:
linear-gradient(163deg, transparent 0px, transparent 1px, #222 1px, #222 14px, transparent 14px),
linear-gradient(161deg, transparent 0px, #181818 1px, #222 2px, #222 15px, transparent 15px),
linear-gradient(343deg, transparent 0px, transparent 1px, #222 1px, #222 14px, transparent 14px),
linear-gradient(343deg, transparent 0px, transparent 1px, #222 1px, #222 14px, transparent 14px);
background-color: #121212;
background-position: 2px 1px, 23px 16px,48px 15px, 21px 30px;
background-size: 48px 30px;
 }
 
 textarea#styled {
	width: 600px;
	height: 120px;
	border: 3px solid #cccccc;
	padding: 5px;
	font-family: Tahoma, sans-serif;
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	-o-border-radius:5px;
}
 textarea#styled:focus{
background:#e5fff3;
}
table tr td textarea{
text-align:center;
}
table{
color:#FFF;
}
.boton{
    background:#0D98FB;
    background-image: -webkit-linear-gradient(top,#0D98FB,#1A5DB3);
    background-image: -moz-linear-gradient(top,#0D98FB,#1A5DB3);
    background-image: -o-linear-gradient(top,#0D98FB,#1A5DB3);
    background-image: linear-gradient(to bottom,#0D98FB,#1A5DB3); 
    border: 1px solid #125CB5;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    -moz-box-shadow: 0 1px 1px #71C0FD inset;
    -webkit-box-shadow: 0 1px 1px #71C0FD inset;
    -o-box-shadow: 0 1px 1px #71C0FD inset;
    box-shadow: 0 1px 1px #71C0FD inset;
    padding: .8em 1.8em;
    color: white;
    font-weight:normal;
    text-decoration:none;
}
.boton:hover {
    background:#1A5DB3;
    background-image: -webkit-linear-gradient(bottom,#0D98FB,#1A5DB3);
    background-image: -moz-linear-gradient(bottom,#0D98FB,#1A5DB3);
    background-image: -o-linear-gradient(bottom,#0D98FB,#1A5DB3); 
    background-image: linear-gradient(to top,#0D98FB,#1A5DB3);
    cursor: pointer;
}

.resv
{
background:#37A6DE url('img/shorte.jpg');
width:655px;
max-width:655px;
height:auto;
padding:10;
min-height:200px;
height:auto;
margin:10px auto;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
border-radius: 5px;
text-align:center;
}

.data
{
background:#FFF;
width:380px;
height:auto;
margin:10px auto;
margin-top:100px;
padding:10px 0;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
border-radius: 5px;
border:1px solid #CCC;
}
.imgh
{
margin:10px auto;
}
#vellenger{
margin:10px auto;
}
#vellenger a{
text-decoration:none;
color:red;
}

1.jpg

2.jpg

3.jpg

4.jpg



Aqui una demo para que prueben su funcionamiento.

DEMO

Aqui les dejo los acrchivos para los que quieran usarlo

https://www.firedrive.com/file/6AF42CE4944C3757

Si seleccionan los tres, acortara de adfly a linkbucks y este a shorte, en ese orden.


Eso seria todo, es un simple ejemplo de uso de las api que nos ofrecen cada servidor de los acortadores. De seguro hay cosas para mejorar y se podria agregar mas acortadores.
Para los que son de utilizar estos acortadores aqui podran hacer uso de ellos sintener que entrar a sus cuentas y podran acortar un mismo enlace todas las veces que quieran, uno seguido de la otra..

:mola:​
 
Última edición:
Mensajes
213
Puntuación de reacción
0
El tutorial está bien, y es un script bastante interesante, pero fijate bien en una cosa, cuando señalas los 3 checkbox solo te muestra el enlace acortado de shorte, si por ejemplo seleccionas adf.y y linkbucks te muestra linckbucs solo, etc, por lo que veo muestra solo el ultimo checkboz de los marcados (el que se ve mas a la derecha), si arreglas ese fallo funcionará ya perfecto, es el unico defecto que le veo despues de haber probado tu demo
 

vellenger

Piedra
Usuario de Piedra
Mensajes
35
Puntuación de reacción
0
El tutorial está bien, y es un script bastante interesante, pero fijate bien en una cosa, cuando señalas los 3 checkbox solo te muestra el enlace acortado de shorte, si por ejemplo seleccionas adf.y y linkbucks te muestra linckbucs solo, etc, por lo que veo muestra solo el ultimo checkboz de los marcados (el que se ve mas a la derecha), si arreglas ese fallo funcionará ya perfecto, es el unico defecto que le veo despues de haber probado tu demo


Creo que no leiste lo que deje :p
Lo que hace es , si eliges uno, solo acorta el que seleccionas, si eliges de dos, acorta primero a adfly, y ese mismo a linkbucks,
si eliges los tres, primero a adfly, ese mismo enlace acortado a linkbucks y ese mismo acortado a shorte.
Para que lo entiendas mejor intenta acortando un enlace, y selecciona los tres o dos..
Y segui hasta que llegues al enlace y te daras cuenta como funciona..

Tambien me pidieron que acortara por cada servidor un mismo enlace....
Pero se puede modificar para que haga eso..

:)
 
Mensajes
1
Puntuación de reacción
0
Sos un dios Che, sabelo, sos groso, busque por todo san google y nada, y aqui termina mi peregrinacion, si estarias en frente de demi te daria un beso hermano. gracias y gracias...
 
Arriba