私はサーバーへのファイルアップロードを処理するPHPスクリプトを作成しています。同じ名前のファイルがある場合に上書きを防止するため、プログラムはアップロードされた各ファイルの名前を現在のタイムスタンプに変更します。mt_rand()が同じ時刻に実行された場合、結果は同じになりますか?
ただし、これでは不十分です。ピーク時には、同じ秒でアップロードされるファイルが存在する可能性があります。アップロードされたファイルのファイル名が異なることを確認するために、タイムスタンプの最後に乱数を追加することを考えています。
その後、私はthe official PHP page on srand()
注から読み取る: にsrand()またはこれが自動的に行われるようにmt_srand()で乱数生成器にシードする必要はありません。
私はsrand()
のタイムスタンプを使用していると思います。 2つのファイルが同じ秒でアップロードされている場合は、srand()
のタイムスタンプのようにランダムな結果は同じですか?はいの場合、名前が同じ秒にアップロードされても名前が重複しないようにする方法はありますか?
脇に: 'srand' /' mt_rand'を使ってフックしていない、おそらくPHPのランダム性を見ている人ならhttps://gist.github.com/tom--/35f8a029d77467559cf2か、 laravelパッケージhttps://github.com/webpatser/laravel-uuid – haxxxton