Witam. Napisałem bardzo prostą klasę uploadu plików na serwer. Proszę o jakieś uwagi.
Całość u mnie działa, więc teraz potrzebuję uwag, co można zmienić, wyrzucić itp.
class Upload {
public $extensions = array('.jpg','.png','.gif','.doc','.rtf','.pdf','.sql','.txt'); public $prefix;
public $max_size;
public $cf;
public $info;
private $tmp_name;
private $name;
private $error;
private $size;
public function __construct() {
$this->tmp_name = $_FILES['file']['tmp_name'];
$this->name = $_FILES['file']['name'];
$this->error = $_FILES['file']['error'];
$this->size = $_FILES['file']['size'];
}
$this->max_size = 200000;
$this->cf = 3;
}
private function uploadExt($v) {
return $str;
}
private function uploadName($v) {
return $str;
}
private function uploadPrefix()
{
if(!$this->prefix) {
return $prefix;
} else {
return $this->prefix;
}
}
public function uploadFiles($upload_dir)
{
for($i=0; $i<$this->cf;$i++)
{
if($this->name[$i])
{
if(in_array($this->uploadExt($this->name[$i]), $this->extensions)) {
if($this->size[$i] <= $this->max_size)
{
$target = $upload_dir . $this->uploadPrefix() . $this->uploadName($this->name[$i]);
$this->info[] = "Plik został wysłany";
} else {
$this->info[] = "Nie można wysłać pliku";
}
} else
{
$this->info[] = "Rozmiar pliku przekracza dopuszczalną wartość!";
}
} else
{
$this->info[] = "Plik o tym rozszerzeniu nie może być wysłany!";
}
} else {
$this->info[] = "Plik nie został wybrany";
}
}
}
}
$upload = new Upload;
$upload->cf = 2;
if(isset($_POST['upload'])) { $upload->max_size = 144550333;
$upload->extensions = array('.png','.sql','.txt');
$upload->uploadFiles('./files/');
foreach($upload->info as $value) {
echo "<p>".$value."</p>"; }
}
echo "<form action='index.php' method='post' enctype='multipart/form-data'>"; for($i=0;$i<$upload->cf;$i++) {
echo "<p><input name='file[]' type='file' /></p>"; }
echo "<p><input type='submit' name='upload' value='Upload' /></p></form>";