// Allowed file extensions.
$validExt = array('jpg', 'txt', 'xml');
// Get file extensions.
$ext = explode(".", $_FILES['file']['name']);
if(($_FILES['file']['type'] == 'text/plain') || ($_FILES['file']['type'] == 'text/xml') || ($_FILES['file']['type'] == 'image/jpeg') && in_array(end($ext), $validExt))
{
#code
}
mam taki kawałek kodu, który sprawdza czy rozszerzenie zgada się z podanym w tablicy i to działa.
Tylko gdybym chciał wstawić więcej formatów plików dozwolonych to konstrukcja if'a by się bardzo wydłużyła,
wie ktoś jak zrobić walidację która automatycznie będzie sprawdzała więcej rozszerzeń.
$validExt2 = array(
'txt' => 'text/plain',
'css' => 'text/css',
'json' => 'application/json',
'xml' => 'application/xml',
// images
'png' => 'image/png',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
// archives
'zip' => 'application/zip',
'rar' => 'application/x-rar-compressed',
// adobe
'pdf' => 'application/pdf',
// ms office
'doc' => 'application/msword',
);
bez budwania długiego ifa