![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 27.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zmienna $id_p_1 zawiera przecież nazwę pliku, co dokładnie chciałbyś osiągnąć ?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 27.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
rozszerzenie.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Najprościej:
Edit: Zakładając, że plik zawsze składa się tylko z dwóch członów oddzielonych kropką (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował krowal 24.08.2009, 14:52:35 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 27.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
To niestety mnie nie ustawia, bo zmienna $id_p_1 nie ma w sobie rozszerzenia. Tylko nazwę. Więc explode nie będzie tu rozwiązaniem.
Może da się jakoś wykorzystać $_FILE['Plik']['type'] ? A explode'a po kropce mógłbym wykorzystać, bo nazwa będzie jednoczłonowa. Ten post edytował 5w155 24.08.2009, 14:55:09 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
No to chcesz rozszerzenie czy 'mime type' ? bo z $_FILES['file']['type'] dostaniesz właśnie mime type czyli np 'image/gif'. Pamiętaj jednak, że nie jest to wartość generowana przez php a otrzymywana z przeglądarki przy uploadzie pliku. Dlatego np. typ .png może być inny jeśli uploadujesz przez FF i inny jeśli wrzucasz go przez IE (image/x-png albo image/png).
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 27.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Chcę po prostu uzyskać rozszerzenie uploadowanego pliku. Koniec.
EDIT: Dobra. Załatwiłem to dość łopatologicznie. W razie znajdę inne rozwiązanie to zastosuję. Po prostu robie explode'a na $_FILE['Plik']['name'] i stamtąd biorę rozszerzenie i dopisuję do $id_p_1. Troche lipa... ale działa (IMG:style_emoticons/default/smile.gif) REP dla Ciebie! Ten post edytował 5w155 24.08.2009, 15:12:27 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możesz jeszcze użyć explode na $_FILES['file']['name'].
edit: jw. spóźniłem się (IMG:style_emoticons/default/smile.gif) Ten post edytował krowal 24.08.2009, 15:12:51 |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ja bym nieco uważał przy explode i po takim działaniu użył array_pop sprawdzając co zwraca. Pliki mogą, jak sam wiesz zapewne, mieć w nazwie wiele kropek, lub wcale, a nas interesuje ostatni człon. Poza tym w razie wywołania popa na pliku bez rozszerzenia wywali nam nazwę pliku (IMG:style_emoticons/default/smile.gif)
Czyli:
Ten post edytował thek 24.08.2009, 17:04:07 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Yyy... polecam manual: pathinfo
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Ja bym nieco uważał przy explode i po takim działaniu użył array_pop sprawdzając co zwraca. Pliki mogą, jak sam wiesz zapewne, mieć w nazwie wiele kropek, lub wcale, a nas interesuje ostatni człon. Poza tym w razie wywołania popa na pliku bez rozszerzenia wywali nam nazwę pliku (IMG:style_emoticons/default/smile.gif) Czyli:
nie prościej: ? Poza tym jest funkcja, o której mówił przedmówca stworzona właśnie do tego celu... |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Pathinfo najlepsze.
Fifi... pop i end zadziałają identycznie (IMG:style_emoticons/default/smile.gif) End ustawia wskaźnik na ostatni element i zwraca go. Pop usuwa ostatni element i zwraca go :] Ja dodałem if dodatkowy by zwyczajnie poinformować usera co mu zwracamy. Zauważ bowiem, że Ty zwrócisz nazwę pliku jeśli nie ma on rozszerzenia, a ja ifem jeszcze sprawdzam czy aby nie mamy sytuacji, że ktoś przesłal plik bez rozszerzenia w nazwie. Ale równie dobrze można POP zastąpić END w moim przykładzie i efekt będzie identyczny. W tym przypadku obie funkcje mogą się wzajemnie zastępować. Gdybyśmy bez tego IF zostawili, to dla pliku "shadow" $rozszerzenie miała by wartość "shadow", ale z IFem wywali, że plik nie ma rozszerzenia (IMG:style_emoticons/default/smile.gif) A pliki bez rozszerzenia są powszechne na linuxie dla przykładu, bo on ich zwyczajnie nie potrzebuje. Nie samym windowsem żyje świat. Poza tym coś takiego jak "nie ufaj danym przesłanym przez usera" jest zawsze prawdziwe. A nazwa pliku też jest daną z forma i trzeba na nią zwracać uwagę (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 02:09 |