Month: December 2014

[PHP]關於上傳檔案的亂數命名方式

以前的習慣-1:

$rand_name = md5(rand(0, 1000)).$ext;

以前的習慣-2:

$rand_name = md5($_SESSION['id'] . rand(0, 1000)).$ext;

現在認為更好的方式:

$encrypt_name= md5(uniqid(mt_rand())).$ext;

原因:

uniqid() — Generate a unique ID

可以產生在毫秒內百萬分之一秒內不重複的ID字串

mt_rand()-Generate a better random value

產生亂數的速度比rand()快四倍

參考來源:

http://php.net/manual/en/function.mt-rand.php

http://php.net/manual/en/function.uniqid.php

Advertisements