Quiero dar las gracias anticipadas a cualquier persona que pueda echarme una mano u orientarme sobre este tema.
Estoy con un proyecto, el cual, devuelve una URL corta con el siguiente código.
Código PHP:
<?php
substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'), 0, 5); // Donde 5 es la cantidad de digitos que cogerá cada vez.
?>
Esto lo quiero poner el práctica con lo siguiente, pero necesito saber antes si es viable, es una locura o directamente no es posible.
Combinado con lo anterior y despues de ello, necesitaria comprobar si la URL que obtendré existe o no en la base de datos. Si no existe que la guarde y si existe que vuelva a hacer la funcion hasta dar con una que no exista y pueda guardarla.
Mi mayor preocupacion es lo siguiente, dado que selecciona los caracteres aleatoriamente, si cuando por ejemplo este cerca de los 1891 registros con 2 digitos, y solo quedan 2 URLs posibles, va a estar media hora y a sobrecargar el servidor hasta dar con las 2 urls que faltan...
El código que tengo hasta ahora es este, claro esta, me faltan estas dos cosas, pero antes me gustaria saber si se puede hacer, es viable y alguna noción de como empezar.
Código PHP:
<?php
require_once("include/connect.php");
$lurl = $_GET['lurl'];
$surl = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'), 0, 5);
date_default_timezone_set("Europe/Madrid");
$date = date("d/m/Y");
$hits = "1";
if (strlen($lurl) && filter_var($lurl, FILTER_VALIDATE_URL)) {
mysql_query("INSERT INTO wst_uss (wst_lurl, wst_surl, wst_date, wst_hits) VALUES
(
'".addslashes($lurl)."',
'".$surl."',
'".$date."',
'".$hits."'
)
");
header('Location: shorted.php?lurl='.$lurl.'&surl='.$surl);
}
else {
header('Location: errordocs/wrong-url.php');
}
mysql_close();
?>
Mil gracias de antemano.
Un Saludo.