uniqid

(PHP 4, PHP 5, PHP 7, PHP 8)

uniqidEşsiz bir kimlik dizgesi üretir

Açıklama

uniqid ( string $önek = "" , bool $döküntü_üret = false ) : string

Mikrosaniye cinsinden geçerli zamana dayalı olarak belirtilen önek ile eşsiz bir kimlik dizgesi üretir.

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla kullanılmamalıdır. Kriptografik olarak güvenilir bir değere ihtiyaç duyuluyorsa bunun yerine random_int(), random_bytes() veya openssl_random_pseudo_bytes() işlevi denenebilir.

Uyarı

Bu işlev, dönüş değerinin benzersizliğini garanti etmez. Çoğu sistemde sistem saati NTP veya benzeriyle ayarlandığından, sistem zamanı sürekli olarak değiştirilir. Bu nedenle, bu işlevin süreç/evre için benzersiz bir kimlik döndürmemesi mümkündür. Benzersiz olma olasılığını artırmak için döküntü_üret değiştirgesini kullanın.

Değiştirgeler

önek

Bu değiştirge, farklı konaklar üzerinde aynı anda üretilen kimliklerin farklılaştırılmasında yararlı olabilir.

Boş bir önek belirtildiğinde 13 karakterlik bir dizge elde edilir. Eğer, döküntü_üret değiştirgesinde true belirtilmişse üretilen dizge 23 karakter uzunluğunda olur.

döküntü_üret

true belirtildiği takdirde elde edilen dizgenin daha benzersiz olma olasılığını artırmak için dizgenin sonuna (birleşik doğrusal benzeşimsel üreteç kullanılarak) rasgele üretilmiş karakterler eklenir.

Dönen Değerler

Sistem zamanına dayalı benzersiz bir kimlik dizgesi döner.

Uyarı

Bu işlev benzersiz bir kimlik üretmeye çalışır fakat dönen değerin %100 benzersiz olacağını garanti etmez.

Örnekler

Örnek 1 - uniqid() örneği

<?php
$token 
md5(uniqid());
/* 4b3403665fea6 benzeri bir kimlik */
printf("uniqid(): %s\r\n"uniqid());

/* Bir önek belirtilebilir, ikisi de geçerli:
 *
 * $uniqid = $önek . uniqid();
 * $uniqid = uniqid($önek);
 */
printf("uniqid('php_'): %s\r\n"uniqid('php_'));
/* Cygwin gibi bazı sistemlerde gerektiği
 * takdirde döküntü_üret'ilebilir.
 * sonuç şöyle olabilir: 4b340550242239.64159797
 */
printf("uniqid('', true): %s\r\n"uniqid(''true));
?>

Notlar

Bilginize:

Bu işlevin Cygwin altında çalışması için döküntü_üret true olmalıdır.