Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 28.03.2019 09:40:29

Оригинальное имя при загрузки файла

Вот так загружаю файл на сервер,

if($request->hasFile('img')) {
            
            
            $file = $request->file('img')->store('uploads', 'public');
            
           
            

        }

все работает,но имя файла такое

jLyiDxpJWkhiImPOBVwNo6yd3HQciCKTAPLIWsAv.jpeg

Подскажите как вернуть нормальное имя файла,

Не в сети

#2 28.03.2019 14:16:27

Re: Оригинальное имя при загрузки файла

Будет ещё хуже, если вы будете использовать "нормальное" имя, а кто-то загрузит файл с тем же именем. Поэтому обычно используют искусственные имена, а реальное хранят в базе.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#3 28.03.2019 14:19:43

Re: Оригинальное имя при загрузки файла

$request->file->getClientOriginalName()
Должен вернуть исходное имя. А вообще dd($request) покажет что там есть.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#4 12.04.2019 20:04:08

Re: Оригинальное имя при загрузки файла

сражу наповал. из жизни.

freebsd 4.4
файловая система koi8-r
япоша входит по фтп и загружает за ночь своп файл с именем на японском языке в кодировке utf-16 (неееее не utf-8)
именно в utf-16
как результат — снос системы/партиции.

да и как ты отслеживаешь удаление файлов привязанных к записям в бд? никак? копятся пока диск не лопнет?

поэтому оригинальное имя можно хранить в информации о файле в табличке файлов, с полиморфом к чему привязаны.

в итоге сможешь найти отвалившиеся файлы коих нет в бд

и найти записи бд без файлов.

Не в сети

Подвал раздела