-2
私の現在のサイトでは、ユーザーファイルのアップロードが許可されているため、衝突を避けるために、保存されたファイル名を何らかの方法でエンコードする必要があります。しかし、私はダウンロードの元のファイル名を取得することができるようにしたいと思います。だから、私は今のようアップロードされたファイル名のエンコード
- ユニーク
- デコード可能な
するファイル名をエンコードしようとしている、私は次のコードを使用しようとしました:
$hash = $file->hashName();
$fileName = base64_encode(json_encode([
'hash' => $hash,
'name' => $file->getClientOriginalName()
]));
return $fileName;
をしかし、 base64_encode
は、特にファイル名がキリル文字などのユニコード文字を使用している場合は、256文字より長い文字列を生成します。だから、ファイル名をエンコードする他の方法はありますか?
元のファイル名を保存しませんか? – revo
元の名前をデータベースに保存できませんか? – PeeHaa