Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pierwszy skrypt w OOP
SN@JPER^
post
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ć?

  1. class UploadFiles{
  2. private $file;
  3. private $dir;
  4. private $mime = array('image/jpeg', 'image/gif', 'image/png');
  5. private $chmod=777;
  6.  
  7. public function saveFile($fileName, $dir) {
  8. $this->file=$_FILES[$fileName];
  9. $this->dir=$dir.'/'.$this->file['name'];
  10.  
  11. if(isset($_FILES[$fileName])){
  12.  
  13. if($this->file['error']==0){
  14. if(is_uploaded_file($this->file['tmp_name'])){
  15. if(in_array($this->file['type'], $this->mime)){
  16. if(move_uploaded_file($this->file['tmp_name'], $this->dir)===true){
  17. chmod($this->dir, $this->chmod);
  18. return true;
  19. }
  20. }else{
  21. //Nieprawidłowy format pliku
  22. }
  23. }
  24. }else{
  25. switch($_FILES[$this->file]['error']){
  26. case 1: /* KOMUNIKAT o przekroczeniu wartości upload_max_filesize*/; break;
  27. case 2: /* KOMUNIKAT o przekroczeniu wartości max_filesize*/; break;
  28. case 3: /* KOMUNIKAT o wysłanym częściowo pliku*/; break;
  29. case 4: /* KOMUNIKAT o nie wysłaniu żadnego pliku*/; break;
  30. }
  31. }
  32. }else{
  33. return false;
  34. }
  35. }
  36.  
  37. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
Teoretycznie sprawdzanie typu mime też da się obejść

Oczywiście, wszystko da się obejść.
Ale nie jest to już tak trywialne, jak zmiana rozszerzenia.

Ale oczywiście, nic nie stoi na przeszkodzie, by sprawdzać również rozszerzenie. Generalnie - powinno się walidować wszystko, co się da, jeśli dopuszczamy upload plików na serwer przez "niezaufane" źródła (czyli użyszkodników)
Go to the top of the page
+Quote Post

Posty w temacie
- SN@JPER^   Pierwszy skrypt w OOP   10.01.2010, 18:38:38
- - Crozin   Źle... 1) Cały obiekt składa się wyłącznie z jedne...   10.01.2010, 18:58:33
- - darko   Dobrze jest, jak na pierwszy skrypt. Nie ma sensu ...   10.01.2010, 20:06:13
- - SN@JPER^   Będzie m.in metoda do nazw plików. Cytat2) Takie...   10.01.2010, 21:17:47
- - Crozin   CytatCo proponujesz?Typ MIME wyciągnąć z pliku dop...   10.01.2010, 22:14:51
- - SN@JPER^   W takich typu klasach, lepiej użyć __construct czy...   10.01.2010, 22:32:44
- - Crozin   Tak, jeżeli z plikiem jest coś nie tak to usuń go.   10.01.2010, 23:18:29
- - SN@JPER^   Próbuje użyć funkcji mime_content_type, ale coś ni...   10.01.2010, 23:45:05
|- - zegarek84   Cytat(SN@JPER^ @ 10.01.2010, 23:45:05...   11.01.2010, 00:13:07
- - marcio   TO sprawdzaj rozszerzenie i tyle.   10.01.2010, 23:55:42
- - SN@JPER^   No to sie zgadza. mam wersje "PHP Version 5.2...   11.01.2010, 15:10:05
- - marcio   Cytatco do tego mime_type, wydaje sie jednak, że s...   11.01.2010, 18:22:31
- - SN@JPER^   a no chyba, że tak   11.01.2010, 19:42:45
- - CapaciousCore   A nie lepiej recznie sprawdzac naglowek pliku?   11.01.2010, 21:43:06
- - SN@JPER^   CytatA nie lepiej recznie sprawdzac naglowek pliku...   5.03.2010, 16:18:53
- - Cysiaczek   Czy możesz napisać, co zamierzałeś zrobić, czyli p...   5.03.2010, 18:25:27
- - SN@JPER^   Jak widać u góry dyskutowaliśmy jak sprawdzić rozs...   5.03.2010, 22:42:16
- - Cysiaczek   Nie zrozumiałeś mnie CytatWitam, mój pierwszy skr...   6.03.2010, 14:10:11
- - SN@JPER^   Prosty skrypt uploadu obrazów na serwer... Sprawdz...   6.03.2010, 18:40:46
- - phpion   [PHP] pobierz, plaintext $ex = explode('.', $f...   8.03.2010, 14:17:25
- - darko   [PHP] pobierz, plaintext private function _checkEx...   8.03.2010, 14:24:00
- - blooregard   Jak już wspomniał @phpion, sprawdzanie rozszerzeni...   8.03.2010, 14:30:56
- - darko   Teoretycznie sprawdzanie typu mime też da się obej...   8.03.2010, 14:39:46
- - blooregard   CytatTeoretycznie sprawdzanie typu mime też da się...   8.03.2010, 14:42:53
- - Crozin   @blooregard: typ mime z $_FILES jest ustawian...   8.03.2010, 15:59:05
- - blooregard   Cytat@blooregard: typ mime z $_FILES jest ust...   8.03.2010, 16:11:35


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: 10.06.2026 - 21:36