ユーザーが登録プロセスの一環として画像をアップロードするフォームがあります。しかし、私の問題は、同じ名前のイメージの名前を保存するユーザーが、プロフィール写真を表示するときに問題が発生する可能性があることです。どのようにファイルシステムにアップロードする時点でピクチャ名を一意にすることができますか。ファイルシステムへのアップロード時点で同じ画像名を避けるにはどうすればいいですか?
ありがとう。
ユーザーが登録プロセスの一環として画像をアップロードするフォームがあります。しかし、私の問題は、同じ名前のイメージの名前を保存するユーザーが、プロフィール写真を表示するときに問題が発生する可能性があることです。どのようにファイルシステムにアップロードする時点でピクチャ名を一意にすることができますか。ファイルシステムへのアップロード時点で同じ画像名を避けるにはどうすればいいですか?
ありがとう。
これは
$t = uniqid();
$filename='user-'.$t;
echo $filename; // user-1335601088 (always a different name)
を助けている場合
これはうまくいくとは思わない - 'date( 's')'は常に0-59の間の値を返すので、60の異なる潜在的な潜在的な値があります。 –
ありがとう、これはokですuniqid ) '、SOから学んだだけですか? –
私は 'mktime(uniqid())'があなたを返すかどうか分かりません。どうして 'rand()'や 'uniqid()'を単独で使ってみませんか? –
私は、次のスキームのいずれかを使用することをお勧めします:
私がuserIDオプションを使用する場合は、ユーザーを登録した後にアップロードがステップします。または、これをすべて1つのプロセスとして実行するより良い方法がありますか? –
登録プロセスを完了しないようにユーザーがアップロードするイメージを処理する方法は、難しい問題です。何らかのクリーンアップをしたり、提案したようにプロセスを変更したり、登録した後でのみアップロードを許可したりする必要があります。 –
ファイル名を .jpgに変更しましたか? –
BurninLeo
phpの関数[tmpfile()](http://php.net/manual/en/function.tmpfile.php)関数を参照してください。 すべてのファイルは、一時ファイル名でアップロードする必要があります。それで、あなたはそれで何かをします。この場合、ユーザーが登録したら、ファイルの名前を変更します。 – Ami