iT邦幫忙

0

關於php自動取檔名

我想要讓php程式自動取檔名,然後檔名不能重複??有辦法嗎?我有GOOGLE過!可是查到不相關的!!可能是我關鍵字下不好,我可以請問?可以這麼做嗎?能告訴我函數嗎?謝謝!!

fillano iT邦超人 1 級 ‧ 2010-08-03 15:58:15 檢舉
耶,你要用time()喔,它的精度只到秒耶,你用microtime()比較好啦。它的精度至少到千分之一秒(千分之一秒以下的也跑得出來,但是數字幾乎沒變),這樣效果跟uniqid()就差不多。

http://tw2.php.net/manual/en/function.microtime.php
i7807 iT邦新手 5 級 ‧ 2010-08-03 19:41:12 檢舉
OK!!我try看看!

2 個回答

18
fillano
iT邦超人 1 級 ‧ 2010-07-30 22:35:31
最佳解答

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

不過這個函數是依賴時間來產生不重複字串,在競爭的狀況下可能還是會重複,減少重複機率的一個方法是你額外加上用另一個方法隨機產生的prefix字串。

仔細看一下底下眾人提供的範例,應該會有更好的方法。

i7807 iT邦新手 5 級 ‧ 2010-08-03 10:23:42 檢舉

謝謝你們的回答!!我想到方法了!!是用日期time()跟date來抓檔名!!謝謝你們!!

i7807 iT邦新手 5 級 ‧ 2010-08-03 10:25:51 檢舉

不過~好像跟你的方法差不多~一樣會有極少數的機會~會重複~

6
soniachen
iT邦新手 5 級 ‧ 2010-08-02 16:07:21

a-z, A-Z, 0-9 用random 來取得結果就可以了。
英文的部份可以用chr() 來處理。

fillano iT邦超人 1 級 ‧ 2010-08-02 16:12:41 檢舉

這樣即是在非競爭的條件下也無法保證不重複吧?

soniachen iT邦新手 5 級 ‧ 2010-08-06 16:14:22 檢舉

重複要另外寫判斷的阿!
字元的數量越多,重複的機率越低

我要發表回答

立即登入回答