Quindi dovrei fare in modo che i file recuperati tramite lo sfoglia siano automaticamente rinominati secondo il criterio che dicevi tu...
Quindi dovrei fare in modo che i file recuperati tramite lo sfoglia siano automaticamente rinominati secondo il criterio che dicevi tu...
Non mi ricordo se questa classe l'ho finita e testata cmq prendi spunto da qua...
class files
{
var $uploadfile;
var $origine;
var $destinazione;
var $overwrite;
function validate_upload($maxfilesize = "5000000") {
// Controlla che l'upload sia stato eseguito correttamente
// Restituisce "" se tutto è andato a buon fine
// Impostare qui sopra la dimensione di default massima di un file generico uploadato
$error = "";
if($this->uploadfile['error'] == 1) {
$error .= "Errore (validate_upload) : Le dimensioni del file eccedono a quelle specificate nel php.ini\\n";
} elseif($this->uploadfile['error'] == 2) {
$error .= "Errore (validate_upload) : Le dimensioni del file eccedono a quelle specificate nel form di invio\\n";
} elseif($this->uploadfile['error'] == 3) {
$error .= "Errore (validate_upload) : Upload eseguito parzialmente\\n";
} elseif($this->uploadfile['error'] == 4) {
$error .= "Errore (validate_upload) : Non è stato inviato alcun file\\n";
} elseif($this->uploadfile['size'] > $maxfilesize) {
$error .= "Errore (validate_upload) : Le dimensioni del file eccedono a quelle consentite\\n - Massimo consentito ".number_format($maxfilesize)." bytes\\n";
} elseif($this->uploadfile['size'] == "" || $this->uploadfile['size'] == 0 ) {
$error .= "Errore (validate_upload) : File non valido o inesistente\\n";
}
return $error;
}
function move_upload() {
// Sposta un file appena caricato
// Restituisce "" se l'operazione è andata a buon fine
// Impostare overwrite a 1 se si vuole sovrascrivere il file di destinazione nel caso esistesse
$error = "";
$error = $this->validate_upload();
if($error != "") {
$error .= "Errore (move_upload) : File da spostare non valido\\n";
return $error;
}
if(file_exists($this->destinazione) && $this->overwrite == 0) {
$error .= "Errore (move_upload) : File di destinazione già esistente\\n";
return $error;
}
if(!move_uploaded_file($this->uploadfile['tmp_name'], $this->destinazione)) {
$error .= "Errore (move_upload) : Impossibile spostare il file\\n";
return $error;
}
}
function validate_img($maxfilesize = 500000) {
// Controlla che sia un'immagine valida
// Impostare qui sopra $maxfilesize la dimensione massima di default di un'immagine uploadata
$error = "";
// Array contentente tutti i formati registrati
$registered_types = array(
"application/x-gzip-compressed" => ".tar.gz, .tgz",
"application/x-zip-compressed" => ".zip",
"application/x-tar" => ".tar",
"text/plain" => ".html, .php, .txt, .inc (etc)",
"image/bmp" => ".bmp, .ico",
"image/gif" => ".gif",
"image/pjpeg" => ".jpg",
"image/jpeg" => ".jpeg",
"application/x-shockwave-flash" => ".swf",
"application/msword" => ".doc",
"application/vnd.ms-excel" => ".xls",
"application/octet-stream" => ".exe, .fla (etc)"
);
// Array contenenti i tipi di formati permessi
$allowed_types = array(
"image/pjpeg",
"image/jpeg");
// Valido l'upload
$error = $this->validate_upload($maxfilesize);
if($error != "") {
$error .= "Errore (validate_img) : File caricato non valido\\n";
return $error;
}
// Controllo che il file inviato sia del formato consentito
if(!in_array($this->uploadfile['type'],$allowed_types)) {
$error .= "Errore (validate_img) : Tipo di file non permesso.\\n\\nFormati consentiti :\\n";
foreach($allowed_types as $value) {
$error .= "- ".$registered_types[$value]."\\n";
}
return $error;
}
}
function copy_file() {
// La funzione copia un file da $origine a $destinazione.
// Restituisce un messaggio d'errore se il file di destinazione esiste e $overwrite è impostato a 0
// N.B. $origine e $destinazione devono essere comprensivi di percorso assoluto
$error = "";
// Debug: togliere i commenti per stampare directory e nomifile di origine e destinazione
// print dirname($origine)."//n";
// print basename($origine)."//n";
// print "//n";
// print dirname($destinazione)."//n";
// print basename($destinazione)."//n";
if(!file_exists($this->origine)) {
$error .= "Errore (copy_file) : Il file di origine non esiste\\n";
return $error;
}
if(file_exists($this->destinazione) && $this->overwrite == 0) {
$error .= "Errore (copy_file) : File di destinazione già esistente\\n";
return $error;
}
if(!copy($this->origine, $this->destinazione)) {
$error .= "Errore (copy_file) : Copia del file non riuscita\\n";
return $error;
}
}
function del_file() {
// Elimina un file
// Restituisce un messaggio d'errore se il file è inesistente o se non è stato possibile eliminare
// il file.
$error = "";
if(!file_exists($this->origine)) {
$error .= "Errore (del_file) : Il file da cancellare non esiste\\n";
return $error;
}
if(!@unlink($this->origine)) {
$error .= "Errore (del_file) : Impossibile eliminare il file. Controllare che il file non sia in uso\\n";
}
}
function move_file() {
// Sposta un file
// Settare overwrite = 1 per poter sovrascrivere
$error = "";
$error = copy_file($this->origine,$this->destinazione,$this->overwrite);
if($error != "") {
$error .= "Errore (move_file) : Impossibile spostare il file\\n";
return $error;
}
$error = delfile($this->origine);
if($error != "") {
$error .= "Errore (move_file) : Impossibile eliminare il file di origine\\n";
return $error;
}
}
}
per il momento ti ringrazio...e poi vedo che cosa riesco a fare![]()