<?php
/*****************************************************
* Classe Uploader *
* by *
* Stefano V. *
* hide@address.com *
*****************************************************/
class Uploader {
var $max_file_size = 0;
var $estensioni_consentite = array();
var $opzioni_upload = array();
var $percorso_file = '';
function max_size($valore)
{
$this->max_file_size = $valore;
}
function estensioni_ok($array)
{
$this->estensioni_consentite = $array;
}
function opzioni_up($array)
{
$this->opzioni_upload = $array;
}
function upload_file($nome_campo_form, $cartella_upload)
{
$msg = 0; // se 0 estensione non consentita
$overwrite = 1; // se 0 rinomina
$nome_file = $_FILES[$nome_campo_form]['name'];
if($this->max_file_size != 0)
{
if($_FILES[$nome_campo_form]['size'] > $this->max_file_size)
{
die("Il File รจ troppo Grande!");
}
}
foreach($this->opzioni_upload as $key => $value)
{
if($key == 'lock_ext')
{
if($value == 1)
{
$file_split = explode(".",$nome_file);
$estensione = array_pop($file_split);
foreach($this->estensioni_consentite as $valore)
{
if($estensione == $valore)
{
$msg = 1;
}
}
} else {
$msg = 1;
}
}
if($key == 'overwrite')
{
if($value == 1)
{
$overwrite = 1;
} else {
$overwrite = 0;
}
}
}
if($msg == 0)
{
die("Estensione non Consentita!");
}
if(is_uploaded_file($_FILES[$nome_campo_form]['tmp_name']))
{
if($overwrite == 0)
{
if(file_exists($cartella_upload.$nome_file))
{
$casnum = rand(0,9999999999);
$filenome = $this->dividi_nome($nome_file);
$nome_file = $filenome.'('.$casnum.').'.$estensione;
}
}
if(move_uploaded_file($_FILES[$nome_campo_form]['tmp_name'], $cartella_upload.$nome_file))
{
$this->percorso_file = $cartella_upload.$nome_file;
print("Upload Riuscito!");
} else {
die("Errore nell'Upload del File");
}
} else {
die("Errore nell'Upload del File");
}
}
function dividi_nome($nome)
{
$file_split = explode(".", $nome);
$estensione = array_pop($file_split);
$len_ext = strlen($estensione);
$nomef = substr($nome, 0, (strlen($nome) - ($len_ext + 1)));
return $nomef;
}
function get_url($pagina_attuale)
{
$risultato = 'http://' . $_SERVER["SERVER_NAME"] . str_replace($pagina_attuale,'',$_SERVER["PHP_SELF"]) . $this->percorso_file;
return $risultato;
}
}
?>