Ok questo codice si trova nella cartella lib/upload.class.inc.php
questo è il file che gestisce tutto:
(le righe importanti per questa cosa che chiedo sono a riga 89 alla riga 110)
codice:
<?php require_once('error.inc.php');
/*****************************************************
* Classe Uploader *
* by *
* Stefano V. *
* info@svsoftwares.org *
*****************************************************/
class Uploader {
var $max_file_size = 0;
var $estensioni_consentite = array();
var $opzioni_upload = array();
var $percorso_file = '';
var $nome_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(ERR_TOO_BIG);
}
}
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(ERR_WRONG_EXT);
}
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;
$this->nome_file = $nome_file;
}
else
{
$nome_file = $_FILES[$nome_campo_form]['name'];
$this->nome_file = $nome_file;
}
}
else
{
$this->nome_file = $_FILES[$nome_campo_form]['name'];
}
if(move_uploaded_file($_FILES[$nome_campo_form]['tmp_name'], $cartella_upload.$nome_file))
{
$this->percorso_file = $cartella_upload.$nome_file;
print(OK_UPLOAD);
} else {
die(ERR_UPLOAD);
}
} else {
die(ERR_UPLOAD);
}
}
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;
}
function get_name()
{
return $this->nome_file;
}
}
?>