<? phpukraine ІНСТРУМЕНТИ
Пошук по платформі

Довідник MIME-типів

Розширення файлу, його MIME-тип і готовий заголовок Content-Type. Пошук за розширенням або типом.

У БРАУЗЕРІ ДОВІДНИК
РОБОЧА ЗОНА
ЩО РОБИТЬ

Дає правильний Content-Type для відповіді з файлом

Відповідь із файлом без правильного Content-Type відкривається як текст або взагалі не відкривається, а завантаження з неправильним типом не проходить валідацію. Довідник дає MIME-тип за розширенням і навпаки, з готовим рядком заголовка й прикладом у коді.

ЯК ЦЕ ПРАЦЮЄ В PHP

Визначати тип за вмістом уміє розширення fileinfo: finfo_file читає перші байти й повертає MIME незалежно від імені. Віддавати файл із правильним заголовком у Laravel простіше через response()->file або Storage::download, які підставляють тип самі; у чистому PHP header('Content-Type: …') перед readfile.

$mime = finfo_file(finfo_open(FILEINFO_MIME_TYPE), $path);   // image/webp

// Laravel: тип підставиться сам
return response()->file($path);
return Storage::download('reports/2026-09.pdf');

// Валідація завантаження за вмістом, а не за розширенням
$request->validate(['cv' => ['file', 'mimes:pdf,docx', 'max:5120']]);
ПИТАННЯ

Що питають про цей інструмент

Ні. Заголовок Content-Type у multipart-запиті ставить клієнт, і його легко підробити. Перевіряйте тип за вмістом: finfo_file читає сигнатуру файлу, а в Laravel правило валідації mimes робить те саме. Розширення в імені файлу теж лише підказка.

ДАЛІ ПО ТЕМІ