class Avatar{ public $file_size; public $file_type; public $file_tmp; public $file_name; function __set($name, $value){ if( ($name = "file_size") && ($value < 20000)){ return $this->file_size = $value; } elseif( ($name = "file_type") && ($value == "image/jpeg" or "image/png")){ return $this->file_type = $value; } else{ } } public function upload(){ } } }
<?php echo '<form action="#" method="POST" enctype="multipart/form-data"> <input type="file" name="avatar"> <input type="submit" name="submit" value="Wgraj"> </form>'; include('class.Avatar.php'); $avatar = new Avatar; $avatar->$file_size = $_FILES['avatar']['size']; $avatar->file_tmp = $_FILES['avatar']['tmp_name']; $avatar->file_name = $_FILES['avatar']['name']; $avatar->upload(); } ?>
Błąd:
Cytat
Notice: Undefined variable: file_size in index.php on line 32
Plik został zauploadowany.
Plik został zauploadowany.
Problem - nie widzę błędu, ponieważ z tego co wiem znak dolara powodu przefiltrowanie parametru przez funkcję __set. Ponadto plik którzy wrzucam jest zbyt duży, więc powinien zostać odrzucony.