• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アップロードしたファイル名をランダムに書き換え)

アップロードしたファイル名をランダムに書き換え

このQ&Aのポイント
  • アップロードされたファイルをランダムな「数字10桁.拡張子」に変換して移動する方法を教えてください。
  • PHPでアップロードされたファイル名をランダムな形式に変換し、指定のフォルダに移動する方法を教えてください。
  • アップロードしたファイルの名前をランダムな形式に変更して移動するPHPのコードを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • SexyAkeko
  • ベストアンサー率41% (26/63)
回答No.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;

tamamayan
質問者

お礼

ありがとうございます。 うまく動作することができました。