![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Witam, mój pierwszy skrypt, klasa...
Dobrze załapałem póki co programowanie obiektowe? Jakie błędy robie? Co poprawić?
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Źle...
1) Cały obiekt składa się wyłącznie z jednej metody, co za tym idzie nie ma sensu korzystać z pól/własności/składowych/jakkolwiek by tego nie nazwać klasy, skoro używane jest to jedynie w kontekście lokalnym 2) Takie sprawdzanie typu mime to o kant d..y rozbić można. _FILES[abc][type] jest ustawiane przez użytkownika, czyli może tam być cokolwiek 3) W PHP istnieją przedefiniowane stałe określające kod błędu 4) Masz takie coś jak wyjątki... dużo lepiej się sprawdza niż zwykłe true/false 5) Nazwa klasy też niezbyt dobrze trafiona. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dobrze jest, jak na pierwszy skrypt. Nie ma sensu usuwać pól, jak dojdzie jeszcze jakaś metoda, to wtedy się przydadzą. Z tą obsługą błędów to fakt, mógłbyś lepiej to rozwiązać. Właściwie mógłbyś zwracać rezultat move_uploaded_file, przynajmniej byłoby wiadomo czy uploadowano.
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Będzie m.in metoda do nazw plików.
Cytat 2) Takie sprawdzanie typu mime to o kant d..y rozbić można. _FILES[abc][type] jest ustawiane przez użytkownika, czyli może tam być cokolwiek Co proponujesz? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Co proponujesz? Typ MIME wyciągnąć z pliku dopiero po stronie serwera - a potem (tj.: fragment z in_array()) już tak samo.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
W takich typu klasach, lepiej użyć __construct czy tak jak w moim przypadku?
Typ MIME wyciągnąć z pliku dopiero po stronie serwera - a potem (tj.: fragment z in_array()) już tak samo. Czyli po move_uploded_file sprawdzic mime? Jeżeli nie bedzie nieprawidłowy to co wtedy? usunać plik? Ten post edytował SN@JPER^ 10.01.2010, 22:48:10 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tak, jeżeli z plikiem jest coś nie tak to usuń go.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Próbuje użyć funkcji mime_content_type, ale coś nie działa...
na localhost default nie działa, musiałem odznaczyć ";" w extension=php_mime_magic.dll Po odznaczeniu nic nie wyświetla. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
TO sprawdzaj rozszerzenie i tyle.
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Próbuje użyć funkcji mime_content_type, ale coś nie działa... którą masz wersję php?? - czytaj może co piszą w manualu - te komunikaty: mime_content_type - a dalej to masz link jakiej funkcji powinieneś użyć jeśli masz php 5.3 finfo_file -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
No to sie zgadza. mam wersje "PHP Version 5.2.5".
co do tego mime_type, wydaje sie jednak, że sprawdzanie rozszerzenia jest lepszym pomysłem. Co o tym sądzicie? Troche mnie martwi fakt, ze najpeirw musi z uploadowac plik, sprawdzic mime, jeżeli sie nie zgadza to go usunac(!). a i jeszcze "5) Nazwa klasy też niezbyt dobrze trafiona." - czemuż to? |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat co do tego mime_type, wydaje sie jednak, że sprawdzanie rozszerzenia jest lepszym pomysłem. Co o tym sądzicie? Troche mnie martwi fakt, ze najpeirw musi z uploadowac plik, sprawdzic mime, jeżeli sie nie zgadza to go usunac(!). Bo jest to bardziej logiczne i szybsze tym bardziej ze sam sie juz kiedys przejechalem na sprawdzaniu mime plikow bo nie wiedzialem ze poprzez naglowki mozna je zmodyfikowac, i staje sie to "bezpieczne" dopiero wtedy gdy go sprawdzimy jak plik jest juz na srv. -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
a no chyba, że tak
![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 30 Pomógł: 4 Dołączył: 28.09.2009 Skąd: Chełm Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej recznie sprawdzac naglowek pliku?
-------------------- WebKrytyk - zobacz jak marnują się Twoje pieniądze w internecie!
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Cytat A nie lepiej recznie sprawdzac naglowek pliku? Jak? Dobra idea tego sprawdzania rozszerzenia?
Ten post edytował SN@JPER^ 5.03.2010, 17:23:45 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Czy możesz napisać, co zamierzałeś zrobić, czyli po co Ci był potrzebny kod? Inaczej mówiąc - co kod miał robić (nie co robi teraz). Własnymi słowami.
-------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Jak widać u góry dyskutowaliśmy jak sprawdzić rozszerzenie/mimetype. Wielu proponowało, aby sprawdzić rozszerzenie/mimetype po wgraniu pliku na serwer.
Dobrze to rozwiązałem? |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Nie zrozumiałeś mnie
![]() Cytat Witam, mój pierwszy skrypt, klasa... Dobrze załapałem póki co programowanie obiektowe? Jakie błędy robie? Co poprawić? Ja bym chciał, abyś opisał to, co myślałeś zanim zacząłeś pisać kod, który zaprezentowałeś wyżej, bo to istotne. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Prosty skrypt uploadu obrazów na serwer... Sprawdzanie rozszerzenie/mime etc.
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:39 |