PHPで(アップロードされた)tmpファイル名はどのように生成されますか? そのメカニズムは何ですか?それらが常に一意であると信頼できますか?
問題は、アップロードされたすべてのファイルを 1 つの const ディレクトリにコピーしたいのですが、実行中のサーバーの履歴で tmp 名が再発生するかどうかわからないことです。
PHPで(アップロードされた)tmpファイル名はどのように生成されますか? そのメカニズムは何ですか?それらが常に一意であると信頼できますか?
問題は、アップロードされたすべてのファイルを 1 つの const ディレクトリにコピーしたいのですが、実行中のサーバーの履歴で tmp 名が再発生するかどうかわからないことです。
最終的に、PHP によって生成される一時ファイル名は、ファイル名が一意であることを保証する関数mkstemp
/を使用します。mktemp
生成するファイル名が既に存在する場合、存在しないファイル名を生成するために何度も試行します。
Windows では、PHP はGetTempFileName
これを使用して一意性について同じ保証を行います。
どちらの場合でも、関数が一意のファイル名を返すことができない場合、関数はエラー値を返し、PHP はファイル名をまったく返しません。