9
votes

Noms d'URL aléatoire PHP (URL courte)

Après avoir utilisé des sites tels que Jsfiddle, j'ai remarqué qu'ils génèrent automatiquement une URL unique et unique composée de différents caractères supérieurs et minuscules.

Nous pourrions en tirer profit pour nos pages de réservation. Comment est-ce fait?


0 commentaires

5 Réponses :


0
votes

Vous pouvez simplement créer un tableau de tous les caractères potentiels puis choisissez au hasard si beaucoup vous le souhaitez et les retournez comme l'URL "code"?

$arr = array('a','b','c','d');
$count = count($arr) - 1;
$str = $arr[rand(0, $coun)].$arr[rand(0, $coun)];


2 commentaires

Mais cela pourrait conduire à des cordes en double (mais pas très probablement).


Est-ce important? La seule chose que vous aurez à faire est de vérifier pour vous assurer qu'elle est unique par une méthode (telle que DB LookUp, si elle est stockée de cette façon).



2
votes

Utilisez le Uniqid () fonction si vous voulez juste un identifiant aléatoire de une longueur spécifiée ou utilisez le MD5 () hachage de votre longue url si Vous avez besoin de quelque chose de reproductible. (Sortie toujours la même pour une entrée donnée). Création d'un service d'URL court à l'aide de PHP et de MySQL < / a> donne une bonne épuration de la façon de tout mettre ensemble.


0 commentaires

1
votes

C'est très simple.

Votre URL est quelque chose comme www.domain.com/in/here/randompart

Vous réécrivez www.domain.com/in/hee/* à un script de votre choix. Dans ce script, vous pouvez obtenir l'URI demandé avec les globaux et vous pouvez le diviser et utiliser la pièce après la dernière "/". Ceci est votre Randompart. Yust Vérifiez-le contre votre DB ou autre.

Pour créer une telle URL, vous devez simplement ajouter quelque chose de quelque chose derrière "www.domain.com/in/here/". Vous pouvez générer une belle chaîne unique d'espoir avec MD5 (Uniqid (rand (), true)) .

N'oubliez pas de sauvegarder cette chaîne dans un DB ou autre.

espoir, cela aide.


0 commentaires

1
votes

Quelque chose le long de ces lignes:

<?php
  $url_length = rand(10,20); //generate a random number between 10 and 20 for the length   of the URL
  $url = array($url_length);
  for($i=0; $i < $url_length; $i++)
  {
     $char = 0;
     while($char < 65 OR $char > 122 OR ($char > 91 AND $char < 97))
     {
       $char = rand(65,122);
     }
     $url[] = chr($char);
  }
  print_r($url);
?>


0 commentaires

20
votes

Ce n'est pas aléatoire, en fonction de l'ID de votre dossier de base de données.

Comment ça marche: p>

Fondamentalement, vous avez une chaîne unique mais elle peut être déchiffrée pour représenter un nombre, vous devez le regarder comme un cryptage / décryptage court. P>

Vous avez une fonction qui prendrait une carte d'identité unique, puis il crée une «chaîne courte» unique à partir de cet identifiant, puis vous pouvez inverser le processus. Pour obtenir l'identifiant unique de la chaîne courte. P>

Voici un coup ressemblé d'un site Web: P>

alphaID(9007199254740989);   //-> PpQXn7COf
alphaID('PpQXn7COf', true);  //-> 9007199254740989


0 commentaires