11 Ocak 2010, PAZARTESİ
PHP v4 UUID oluşturmak için işlev
Etrafta biraz araştırma yaptım ve birlikte PHP içinde geçerli v4 UUID üreten bir işlev parça için çalışıyorum. Bu gelmek mümkün oldum en yakın yer. Hex, ondalık, ikili, PHP bit operatörleri ve bilgimi neredeyse mevcut olmayan. Bu işlev, bir tane alana kadar geçerli v4 UUID üretir. V4 UUID şeklinde olmalıdır:
Üsküdar-xxxx-4xxx-yxxx-bitirdiler
neredey8, 9, A, B, ya da Bu işlevler için uygun değil gibi başarısız.
Bu alanda bana yardım et ve beni bu kurala uymak yok yani bu fonksiyonu düzeltmek yardımcı olabilir daha iyi bilen birini umuyordum.
İşlevi aşağıdaki gibidir:
<?php
function gen_uuid() {
$uuid = array(
'time_low' => 0,
'time_mid' => 0,
'time_hi' => 0,
'clock_seq_hi' => 0,
'clock_seq_low' => 0,
'node' => array()
);
$uuid['time_low'] = mt_rand(0, 0xffff) (mt_rand(0, 0xffff) << 16);
$uuid['time_mid'] = mt_rand(0, 0xffff);
$uuid['time_hi'] = (4 << 12) | (mt_rand(0, 0x1000));
$uuid['clock_seq_hi'] = (1 << 7) | (mt_rand(0, 128));
$uuid['clock_seq_low'] = mt_rand(0, 255);
for ($i = 0; $i < 6; $i ) {
$uuid['node'][$i] = mt_rand(0, 255);
}
$uuid = sprintf('x-x-x-xx-xxxxxx',
$uuid['time_low'],
$uuid['time_mid'],
$uuid['time_hi'],
$uuid['clock_seq_hi'],
$uuid['clock_seq_low'],
$uuid['node'][0],
$uuid['node'][1],
$uuid['node'][2],
$uuid['node'][3],
$uuid['node'][4],
$uuid['node'][5]
);
return $uuid;
}
?>
Bana yardımcı olabilecek herkese teşekkürler.
CEVAP
11 Ocak 2010, PAZARTESİ
PHP manuel this yorum almış, bu kullanabilirsiniz:
function gen_uuid() {
return sprintf( 'xx-x-x-x-xxx',
// 32 bits for "time_low"
mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ),
// 16 bits for "time_mid"
mt_rand( 0, 0xffff ),
// 16 bits for "time_hi_and_version",
// four most significant bits holds version number 4
mt_rand( 0, 0x0fff ) | 0x4000,
// 16 bits, 8 bits for "clk_seq_hi_res",
// 8 bits for "clk_seq_low",
// two most significant bits holds zero and one for variant DCE1.1
mt_rand( 0, 0x3fff ) | 0x8000,
// 48 bits for "node"
mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff )
);
}
Bunu Paylaş:
Nasıl GUID/a UUID iPhone SDK kullanara...
PHP diziden sorgu dizesi oluşturmak iç...
Renk tekerlekleri oluşturmak için işle...
JavaScript GUID / UUID oluşturmak?...
JavaScript bir işlev için varsayılan p...