#php #file #laravel
#php #файл #laravel
Вопрос:
Я сделал boo boo….
Я создал систему, которая позволяет пользователю загружать ресурсы и отслеживать их. Круто, это работает.
Затем я использовал ту же систему для загрузки ресурсов, специфичных для сайта (логотипы, снимки сотрудников и т.д.)… а затем понял, что, поскольку это очень статичные iamges, мне не нужно использовать систему ресурсов.
Итак, теперь у меня на сервере хранения есть папка, полная файлов iam, помеченных:
1_headshot.jpg
2_logo.png
и т. Д
где номер — это ссылка на базу данных моего сотрудника… моя проблема в том, что я не отследил, какой тип файла загружен…
Мои варианты:
- Ограничьте пользователям загрузку только одного формата файла
- Используйте PHP для получения файла независимо от ext файла…
Нет 1, я могу сделать .. но мне интересно .. возможно ли 2 ..??
Я извлекаю из корзины S3, если это имеет какое-либо значение?
Комментарии:
1. Почему вы хотите сохранить этот трек? Для того, чтобы пользователь мог загрузить его обратно?
2. Если пользователь загружает jpg в качестве своего iage, мне нужно знать, как отобразить его в формате jpg
3. На самом деле вас не должно волновать расширение. Вам следует заботиться о типе mime
4. Круто, как я могу получить это из файла, если я не знаю ext? Приведенный ниже ответ идеален, но я хотел бы услышать ваши мысли.
Ответ №1:
$filename = filename without extension ;
$storage_path=storage_path();
$files=File::glob($storage_path.'/'. $filename.'*');
if($files) {
$file=$files[0];
}
$file
будет содержать имя файла с расширением, если оно существует
Комментарии:
1. Это отлично работает.. У меня была проблема в том, что я разрешал пользователям загружать что угодно, и в этом была проблема .. поскольку я использую «вмешательство», я просто сохранил загруженные изображения в требуемом формате .. но действительно ценю быстрый ответ!!