• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Walidacja rozszerzenie przesyłanych plików

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
339 wizyt
pytanie zadane 21 stycznia 2018 w PHP przez chmod96 Obywatel (1,380 p.)
// 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

1 odpowiedź

+1 głos
odpowiedź 21 stycznia 2018 przez Assasz Nałogowiec (30,460 p.)
wybrane 21 stycznia 2018 przez chmod96
 
Najlepsza
$validTypes = [
    'text/plain',
    'text/css',
    'application/json',
    'application/xml',
 
    // images
    'image/png',
    'image/jpeg',
    'image/jpeg',
    'image/jpeg',
 
    // archives
    'application/zip',
    'application/x-rar-compressed',
 
    // adobe
    'application/pdf',
 
    // ms office
    'application/msword',
];

if(in_array($_FILES['file']['type'], $validTypes))
{
	#code
}

Może tak? Jeśli chcesz jedynie sprawdzić typ, to nie potrzebujesz nawet rozszerzenia pliku.

Podobne pytania

0 głosów
1 odpowiedź 282 wizyt
pytanie zadane 25 lutego 2020 w PHP przez franz Gaduła (4,940 p.)
–1 głos
0 odpowiedzi 389 wizyt
pytanie zadane 20 czerwca 2019 w PHP przez Alan Kruszyński Obywatel (1,410 p.)
0 głosów
1 odpowiedź 156 wizyt
pytanie zadane 29 stycznia 2019 w PHP przez daniel2k Obywatel (1,380 p.)

93,187 zapytań

142,203 odpowiedzi

322,020 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2164p. - Adrian Wieprzkowicz
  10. 2006p. - Michal Drewniak
  11. 1950p. - Anonim 3619784
  12. 1909p. - Dawid128
  13. 1901p. - Mikbac
  14. 1744p. - rafalszastok
  15. 1487p. - Michał Telesz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...