Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]sprawdzanie roszeżenia pliku
Forum PHP.pl > Forum > Przedszkole
peter13135
do tej pory sprawdzałem rozszerzenie metodą substr, jednak nie jest ona do tego najlepsza (moim zdaniem), ponieważ rozszerzenia nie zawsze mają taką samą ilość znaków (zwykle 3, ale są takie jak jpeg, lub rmvb), no więc, czy jest jakaś inna metoda??
wpadłem na pomysł, by nazwe pliku rozbić funkcją explode, a następnie wybrac ostatni element, ale może jest jakaś prostrza funkcja??
wookieb
Kod
preg_match('/(\.[a-z0-9]{2,5})$/i',$nazwaPliku, $match);
echo $match[1];//


Sprawdź sobie potem jakby co print_r($match); ktory klucz to rozszerzenie jezeli 1 bedzie bledne.
peter13135
wydaje mi sie że na jedno wyjdzie z funkcją explode, ale plusik oczywiście leci
wookieb
No można można. Ale mnie wydaje się to bardziej eleganckie biggrin.gif
peter13135
zgadzam sie że wygląda fachowo, ale ja na wyrażeniach regularnych sie niebardzo znam, tzn, jakoś je powoli zaczynam rozumieć, ale sam napewno nienapisze takiego czegoś, a użycie funkcji explode jest łatwe
Shili
  1. <?php
  2. $text = 'plik.btmps.fafa'; // plik z rozszerzeniem
  3. $suffix = strrchr($text, '.'); // wycięcie tekstu od ostatniej kropki
  4. /* Usunięcie tej kropki metodą "brutalną", nie chce mi się myśleć nad bardziej wyrafinowanymi */
  5. $suffix[0] = '';
  6. echo $suffix;
  7. ?>


Z tego względu, że rozszerzenie to ciąg znaków po ostatniej kropce nie trzeba nawet wyrażeń regularnych ani explode.
Jednak wyrażenia regularne tak czy siak powinno się znać winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.