Buonasera a tutti ragazzi,
Ho trovato in rete un form html con i classici bottoni "carica" e "seleziona file" con abbinato un file "upload.php".
- È possibile caricare qualsiasi genere di file senza andare ad aggiungere le estensioni?
- Posso far apparire in anteprima l'immagie di ciò che sto caricando?
- Inoltre, ogni qualvolta che carico un file vorrei far uscire la scritta " File caricato con successo" nella stessa pagina senza essere reindirizzati in una nuova pagina con scritto appunto, file caricato con successo...
- È possibile caricare i file selezionando da un menù a tendina un percorso diverso nel server? Esempio: immagini, pdf, etc..etc..
Riuscirebbe ad aiutarmi?
Form:
File upload.php:
Ho trovato in rete un form html con i classici bottoni "carica" e "seleziona file" con abbinato un file "upload.php".
- È possibile caricare qualsiasi genere di file senza andare ad aggiungere le estensioni?
- Posso far apparire in anteprima l'immagie di ciò che sto caricando?
- Inoltre, ogni qualvolta che carico un file vorrei far uscire la scritta " File caricato con successo" nella stessa pagina senza essere reindirizzati in una nuova pagina con scritto appunto, file caricato con successo...
- È possibile caricare i file selezionando da un menù a tendina un percorso diverso nel server? Esempio: immagini, pdf, etc..etc..
Riuscirebbe ad aiutarmi?
Form:
HTML:
<body><form enctype="multipart/form-data" action="./upload.php" method="post">
<input name="userimage" type="file" />
<input type="submit" value="Carica foto" name="send">
</form></body>
PHP:
<?php
//Impostazioni varie da modificare a piacimento
$dimensione_max = '120006000000000000000000000000000000000'; // Dimensione massima delle foto
$upload_dir = './upload'; // Cartella dove posizione le foto
$estensioni = array ("png", "jpg", "gif", "pdf", "doc", "avi", "mp4", "txt"); // Tipi di File consentiti
$noSubmitSend = 'Nessun upload eseguito!'; // Messaggio di errore quando viene richiamato direttamente lo script PHP
$wrongExt = 'Estensione file non valida!'; // Messaggio di errore per tipo di file non consentito
$tooBig = 'Il file eccede la dimensione max!'; // Messaggio di errore per file troppo grande
$thatsAll = 'File caricato con successo!'; // Messaggio di OK per upload corretto
$wrongUp = 'Something wrong here!'; // Messaggio di errore quando lo script non riesce ad eseguire l'upload
//***************************************
// Controllo il submit del form HTML...
if(isset($_POST['send'])) {
$file = $_FILES['userimage']['name'];
// Controllo il tipo di file...
if(in_array(array_pop(explode('.',$file)),$estensioni)) {
// Controllo la dimensione del file...
$dimensione_file = $_FILES['userimage']['size'];
if ($dimensione_file > $dimensione_max) {
print $tooBig;
} else {
doUpload($file, $upload_dir);
}
} else {
print $wrongExt;
}
} else {
print $noSubmitSend;
}
function doUpload($file, $upload_dir) {
global $thatsAll;
$nomefile = $_FILES['userimage']['tmp_name'];
$nomereale = $_FILES['userimage']['name'];
$nomereale = htmlentities(strtolower($nomereale));
if (is_uploaded_file($nomefile)) {
$newname = ($nomereale);
$ext = end(explode('.',$nomereale));
$filename = explode('.',$nomereale);
if (file_exists($upload_dir.'/'.$nomereale)) {
$filename[0] .= '.';
for ($a=0;$a<=9;$a++)
$filename[0] .= chr(rand(97,122));
$newname = $filename[0] . '.' . $ext;
}
$newname = str_replace(' ', '_', $newname);
@move_uploaded_file($nomefile,($upload_dir.'/'.$newname));
print $thatsAll;
} else print $wrongUp;
}
?>
Ultima modifica di un moderatore: