Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]explode i rozszerzenie
Gray
post
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Hej, posiadam taki oto kod:

  1. $roz = explode(".",($_FILES['obrazek']['name']));


Ma on na celu zapisać do zmiennej $roz rozszerzenie pliku wrzucanego (obrazek .jpg .png lub .gif), działa poprawnie jednak kiedy wrzucę obrazek z kropką w nazwie np. obrazek.kwiatek.jpg to skrypt przyjmie słowo kwiatek jako rozszerzenie.

Proszę o pomoc w usprawnieniu tego skryptu.

Pozdrawiam,
Gray

Ten post edytował Gray 13.03.2012, 19:00:05
Go to the top of the page
+Quote Post
Rysh
post
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


Musisz pobrać ostatni element tablicy. Jest funkcja do tego.

  1. $roz = end(explode(".",($_FILES['obrazek']['name'])));


Ten post edytował Rysh 13.03.2012, 19:12:34
Go to the top of the page
+Quote Post
lobopol
post
Post #3





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


albo
  1. $roz = end(explode(".",($_FILES['obrazek']['name'])));

albo
  1. $path_info = pathinfo($$_FILES['obrazek']['name']);
  2. $path_info['extension'];
Go to the top of the page
+Quote Post
Gray
post
Post #4





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Dzięki Panowie, sposób lobopol z pathinfo wydaje się profesjonalniejszy więc z niego skorzystam.

btw. w przykładzie z pathinfo wkradł Ci się chyba przypadkowy znak dolara "$$_FILES"
Go to the top of the page
+Quote Post
starach
post
Post #5





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

Ostrzeżenie: (0%)
-----


  1. substr($_FILES['obrazek']['name'], strrpos('.', $_FILES['obrazek']['name']))
Go to the top of the page
+Quote Post
lobopol
post
Post #6





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


starach, zdecydowanie lepiej pathinfo przy explode i tej twojej metodzie są problemy. Np. twoja metoda padnie gdy plik nazywa się plik albo plik.plik.jpg
Go to the top of the page
+Quote Post
starach
post
Post #7





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

Ostrzeżenie: (0%)
-----


gdybym użył strpos to owszem, ale wykorzystałem strrpos(), która podaje pozycję pierwszego znaku od prawej strony.

edit>
do wyniku strrpos można jeszcze ewentualnie dodać 1 strrpos('.', $_FILES['obrazek']['name']) + 1, żeby wyciąć samo rozszerzenie bez kropki.

Ten post edytował starach 13.03.2012, 23:37:36
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 15:01