Siete Stanchi di dover scrivere sempre lo stesso codice per creare l’upload dei file? E magari di dover modificare lo script ogni volta per poterlo adattare alla pagina web?
In Vostro soccorso, ho creato una classe che vi permetterà di creare un Uploader in pochi Minuti!!!
La Classe la potete Scaricare da QUI: SCARICA
Vediamo ora come va integrata nella pagina:
Per prima cosa aprite il file: error.inc.php (sta nella cartella Libs) e se volete, personalizzate i messaggi di errore.
Ora create il vostro form con il campo file e il tasto submit e nell’action mettete upload.php (ricordate di mettere: enctype=”multipart/form-data”)
Create il file upload.php e all’interno scriveremo:
// include la libreria
include(“libs/upload.class.inc.php”);
// valorizza la variabile
$test = new Uploader();
// Opzioni: controllo estensione (1 = attivo, 0 = non attivo), sovrascrittura (1 = attivo, 0 = non attivo)
$test->opzioni_up(array(‘lock_ext’ => 1, ‘overwrite’ => 0));
// prevista la funzione max_size(valore) che permette di scegliere la grandezza massima del file
// se lock_ext = 1 bisogna mettere le estensioni consentite
$test->estensioni_ok(array(‘zip’, ‘rar’, ‘mp3′, ‘jpg’ , ‘gif’));
// uppa il file, paramentri: nome del campo di tipo file, cartella dove uppare
$test->upload_file(‘userfile’,'files/’);
// stampa l’Url del file Uppato
print(“<br />” . $test->get_url(basename(__FILE__)));
Abbiamo finito…
Il nostro Uploader è pronto! Quanto ci abbiamo impiegato a personalizzarlo? 5 minuti? Nemmeno?
Alla Prossima!
Popolarità: 1%
Articoli correlati:

Ma nel file upload.class.inc.php bisogna modificare qualcosa o lasciarlo intatto così come lo hai fatto tu??
Il file upload.class.inc.php va lasciato così com’è!
Ciao, mi chiamo Giacomo, ho provato il tuo listato per fare l’upload dei files e va tutto bene, l’unica cosa che non riesxo ad aumentare è la grandezza del file, vorrei portarlo a 100 MB, ma non so come fare puoi aiutarmi? Ti ringrazio anticipatamente. Ti informo che non sono un esperto. Ciao e a presto.
Prima di $test->upload_file devi inserire il comando: $test->max_size(VALORE IN BYTE)
Attenzione perkè la dimensione massima dipende anche dal tuo hosting, di solito è limitato a 8MB… chiedi al tuo provider.
In Alternativa questa è la nuova classe: http://www.sv-design.org/blog/php-nuova-classe-uploader/
Questo post contiene la vecchia versione con qualche bug, ti consiglio la nuova…
Ciao e grazie mille per lo script!
Ho un problemino: dato che voglio disabilitare la sovrascrittura ho messo “0″ in upload.php.
In questo caso se viene uppato un file con lo stesso nome e stessa estensione il tuo script genera un numero a caso da 0 a 999999999999 da mettere in parentesi tra il nome del file e l’estensione. Il problema è che effettivamente l’estensione rimane troncata. Per intenderci meglio viene inserito un file di questo tipo: “nomefile(4853949681).”, che non contiene l’estensione e pertanto risulta inutilizzabile fino a che non viene aggiunta manualmente.
Ho cercato di analizzare il codice alla ricerca di una soluzione ma la mia poca esperienza in merito non ha portato a nessuna conclusione.
PS: per ora ho semplicemente commentato le righe della funzione di rinomina sostituendola con un die(ERRORE), che interrompe l’upload e stampa un messaggio che dice all’utente di rinominare il file e provare di nuovo, però se si riuscisse a rendere funzionante la possibilità di rinominare sarebbe molto più comodo.
Grazie!
Ciao Marco, questa mia classe aveva parecchi errori che spuntavano giorno dopo giorno
alla fine invece di correggerla, l’ho riscritta da capo…
Eccoti il link: http://www.sv-design.org/blog/php-nuova-classe-uploader/