• 19-08-2014, 21:58:04
    #1
    veritabanındaki linklerle çakışmadan toplamda 6 karakterden oluşan, sadece rakam ve harften oluşan bir kısaltma yapmak istiyorum.

    şurada bir örnek var ama bu tam istediğimi karşılamıyor herhalde. bilgisi olan var mı?

    https://forum.ceviz.net/php/89594-ph...tml#post548779
  • 19-08-2014, 22:05:18
    #2
    Uniqid fonksiyonu ile time'ı esas alan bir sayı üretebilirsiniz. Ya da rastgele bir kelime üreten bir fonksiyon yazarsınız, veritabanında bulunuyor mu diye kontrol eder, eğer varsa baştan bir kelime oluşturur.
  • 20-08-2014, 01:49:07
    #3
    Alıntı
    function idOlustur($length)
    {

    $karakterler = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLM NOPQRSTUVWXYZ';
    $rastgele = '';

    for ($i = 0; $i < $length; $i++)
    $rastgele .= $karakterler[rand(0, strlen($karakterler) - 1)];

    return $rastgele;
    }
    kullanımı:

    $idUzunluk = 5;
    $id = idOlustur($idUzunluk);
  • 20-08-2014, 09:59:01
    #4
    XYZ
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Şurada tam sizin amacınıza uygun bir class mevcut: http://web.archive.org/web/201307270...hp-unique-hash

    PseudoCrypt sınıfı ile veritabanına kaydınızı gerçekleştirdikten sonra eklenen verinin id'sini kullanarak diğerlerinden farklı bir hash oluşturabilirsiniz. Her id farklı olacağından oluşan hash'de farklı olacaktır.

    Kullanımı:
    $id = 5;
    $hash = PseudoCrypt::hash($id, 6);
  • 20-08-2014, 11:21:23
    #5
    XYZ adlı üyeden alıntı: mesajı görüntüle
    Şurada tam sizin amacınıza uygun bir class mevcut: http://web.archive.org/web/201307270...hp-unique-hash

    PseudoCrypt sınıfı ile veritabanına kaydınızı gerçekleştirdikten sonra eklenen verinin id'sini kullanarak diğerlerinden farklı bir hash oluşturabilirsiniz. Her id farklı olacağından oluşan hash'de farklı olacaktır.

    Kullanımı:
    $id = 5;
    $hash = PseudoCrypt::hash($id, 6);
    teşekkürler mesajlarınızı r10+'ladım. bu işimi görür fakat şöyle bir şey de gerekiyor. bu linkleri kısalttıktan sonra yönlendirme sayfasında tekrar çözmek gerekecek. onu nasıl yapabilirim?

    örnek:

    base64_encode ve base64_decode gibi. decode etme kodu var mı bunun içinde?

    edit: kendi içinde unhash varmış. teşekkürler.