-2
我的當前網站允許用戶上傳文件,以避免碰撞,我需要以某種方式編碼存儲的文件名。但我希望能夠檢索下載的原始文件名。所以,我試圖編碼文件名是編碼上傳的文件名
- 獨特
- 解碼
截至目前,我已經嘗試使用下面的代碼:
$hash = $file->hashName();
$fileName = base64_encode(json_encode([
'hash' => $hash,
'name' => $file->getClientOriginalName()
]));
return $fileName;
但base64_encode
會產生超過256個符號的字符串,特別是當文件名使用Unicode字符(如西裏爾字母)時。那麼,有沒有其他的方法來編碼文件名?
難道你不喜歡存儲原始文件名嗎? – revo
難道你不能將原始名稱存儲在數據庫中嗎? – PeeHaa