Tutaj klasa :
<?php ################## # autor : mijagi # ################## class uploadzik { public $rozmiar_max; public $nazwa_input; private $nazwa_tmp; private $typ_mime; private $nazwa; private $rozmiar; private $bledy; public function __construct($rozmiar_max, $rozszerzenia, $typy_mime, $nazwa_input){ $this->nazwa_tmp = $_FILES[$nazwa_input]['tmp_name']; $this->typ_mime = $_FILES[$nazwa_input]['type']; $this->nazwa = $_FILES[$nazwa_input]['name']; $this->rozmiar = $_FILES[$nazwa_input]['size']; $this->bledy = $_FILES[$nazwa_input]['error']; } } if($this->sprawdzanie($rozmiar_max) == 1){ if($znaki > 1 && $znaki < 5){ $this->rozmiar_max = $rozmiar_max; $this->rozszerzenia = $rozszerzenia; $this->typy_mime = $typy_mime; $this->nazwa_input = $nazwa_input; $this->druk_input($this->ile_plikow); }else $this->komunikaty(4); }else $this->komunikaty(2); }else $this->komunikaty(3); } #<- konstruktor, sprawdzenie czy obiekt zostanie poprawnie utworzony private function sprawdzanie($x){ return 1; } } } #<- funkcja pomagajaca konstruktorowi sprawdzic poprawnosc danych private function komunikaty($ktory){ switch($ktory) { case 1: break; case 2: break; case 3: break; case 4: break; case 5: break; case 6: break; case 7: break; case 8: break; default: break; } } } #funkcja drukujaca info o bledzie private function druk_input($ile){ echo "<form action=\"\" method=\"POST\" enctype=\"multipart/form-data\"> <input name=\"$this->nazwa_input\" type=\"file\" /><br /> <input type=\"radio\" name=\"wybor\" value=\"zdjecie\"/>Fotka <input type=\"radio\" name=\"wybor\" value=\"archiwum\" />Zip/rar<br/> <input type=\"submit\" name=\"submit\" value=\"up up!\"/></form>"; } #funkcja drukujaca formularz private function rozszerzenie($roz){ return $ext; } } #funkcja sprawdzajaca rozszerzenia private function mimy($mime){ return 1; } }#funkcja sprawdzajaca mime private function wybor($wybor){ switch($wybor) { case 'zdjecie': return 1; break; case 'archiwum': return 2; break; default: return 3; break; } }else $this->komunikaty(6); }else $this->komunikaty(6); } #funkcja odpowiada za poprawnosc przypisania sprawdzania danych do zmiennej wybor private function rozmiar_pliku($rozmiar){ if($rozmiar <= $this->rozmiar_max){ return 1; } } #funkcja sprawdzajaca rozmiar pliku private function GD_img($tmp){ return 1; } } #sprawdzanie czy obraz jest poprawny w GD private function zmiana_nazwy($nazwa){ return $nazwa; } #zmiana nazwy wg. wzoru private function info($x){ if($x){ } } # drukowanie info, jesli wszystko sie powiodlo public function up_up(){ if($this->wybor($_POST['wybor']) < 3){ if($this->rozmiar_pliku($this->rozmiar) == 1){ if($this->wybor($_POST['wybor']) == 1){ if($this->GD_img($this->nazwa_tmp) == 1){ $this->info($uped); }elseif($this->wybor($_POST['wybor']) == 2) { $this->info($uped); } }else $this->komunikaty(1); }else $this->komunikaty(6); } } #funkcja odpowiadajaca za sprawdzenie danych pliku i upload jesli wszystko gra } $rozmiar = 6291456; #max rozmiar pliku $nazwa = 'plik'; #nazwa inputa $mime_arch = array("application/zip","application/rar","application/x-compressed","application/x-zip-compressed","multipart/x-zip"); #typy mime dla rar/zip #dalej palcow nie pchaj $up = new uploadzik($rozmiar,$rozszerzenia,$typy_mime,$nazwa); $up->up_up(); ?>