- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アップロードしたファイル名をランダムに書き換え)
アップロードしたファイル名をランダムに書き換え
このQ&Aのポイント
- アップロードされたファイルをランダムな「数字10桁.拡張子」に変換して移動する方法を教えてください。
- PHPでアップロードされたファイル名をランダムな形式に変換し、指定のフォルダに移動する方法を教えてください。
- アップロードしたファイルの名前をランダムな形式に変更して移動するPHPのコードを教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
体外乱数でつけるか、その日の日付時間ですかねー。 timeだと秒数になるんだっけ? それで。 もし、すでにファイルが存在していたら、_1とかつけてループしましょう。 乱数に関しても、万が一を考えると、ファイルが存在していたら、_1、_2とかファイル名にくっつけループで。
その他の回答 (1)
- shimix
- ベストアンサー率54% (865/1590)
回答No.1
そもそもサーバに保存するファイル名に$_FILES["upload_file"]["name"]を使うべきではありません。最初から自前でファイル名を付けてください。 (クライアントのOSでは問題なくても)サーバのOS上でファイル名として不適切な文字が混入する可能性があります。 数字10桁ではtempnamというわけにもいきませんからmt_randででも作りますかね(念のため既存ファイルの有無はチェックするとして)。 $filename = substr(str_pad(mt_rand(), 5, '0', STR_PAD_LEFT), -5) . substr(str_pad(mt_rand(), 5, '0', STR_PAD_LEFT), -5) . $ext;
お礼
ありがとうございます。 うまく動作することができました。