Jest to moja pierwsza klasa więc proszę o wyrozumiałość. Pierwsza klasa OPUBLIKOWANA (zeby nie było ;P)
<?php
//Klasa by BIM
// <a href="http://nfscg.info" target="_blank">http://nfscg.info</a>
// @version 1.0
// mail: bimhernas@gmail.com
class uploads
{
var $conf=array("folder" => "all"); var $error=NULL;
var $name;
// Funkacja uploadujaca
function move($nazwa) // wywołanie: $up->move( nazwa_zmiennej_inputa);
{
{
$this->error[] = 'Funkcja is_uploaded_file() nie pozwoliła na upload tego pliku';
}
if(!in_array($_FILES[$nazwa]['type'], $this->typ)) {
foreach($this->typ AS $typ)
{
{
$typy=$typ;
}
else
{
$typy .= ','.$typ;
}
}
$this->error[] = 'Nie dozwolony typ mime. Dozwolone typty to: '.$typy.' , a twój typ to '.$_FILES[$nazwa]['type'];
}
if(!is_dir('uploads/'.$this->conf['folder'])) {
$this->error[] = 'Źle ustawiłeś katalog.';
{
$this->error[] = 'Katalog ma Ľle ustawione mody (czyt. chmody). Ustaw je na 0777';
}
}
########################
$aa=explode('.', $_FILES[$nazwa]['name']); $roz = $aa[(count($aa)-1
)]; if($this->error=='')
{
if(move_uploaded_file($_FILES[$nazwa]['tmp_name'], 'uploads/'.$this->conf['folder'].'/'.$klucz.'.'.$roz)) {
$this->name = $klucz.'.'.$roz;
return TRUE;
}
else
{
$this->error[] = 'Bład przy uploadowaniu pliku. Skontaktuj się z administratorem.';
}
}
return FALSE;
}
/* Zmienia ustawienia */
function set($co, $value)
{
$this->conf[$co]=$value;
}
/* Ustawia dozwolone typy */
function type($dozwolone)
{
{
$this->typ=$dozwolone;
}
else
{
$this->typ=array($dozwolone); }
}
}
?>
Wywołania:
<?
$up = new uploads;
echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'" ENCTYPE="multipart/form-data"> <input type="file" name="file" size="20" class="input">
<input type="hidden" name="a" value="b" /><input type="submit" value="upload" /></form>';
if($_POST['a']=='b')
{
$up->set('folder', 'test');
$up->type(array('image/gif', 'text/plain')); if($up->move('file'))
{
}
else
{
}
}
?>
Ten post edytował bim2 20.07.2006, 09:51:25