Salve gentilissima comunity,
ho un problema sulla pagina upload. Questa applicazione è divisa in due pagine: 1) inserisci file.html; 2) upload.php; Nella pagina inserisci file c'è il form, invece nella pagina upload c'è lo script php. L'errore consiste quando invio il file. Ed essa mi dice: "Non hai inviato nessun file". Premetto che il codice l'ho trovato online, ed la cartella si trova su uno spazio altervista.org. Non so dove ho sbagliato: mi potete aiutare? Vi posto tutte e due le pagine
inserisci file.html
codice HTML:
<!DOCTYPE html>
<html>
<head> <meta charset="utf-8" />
<title>invia file</title>
</head>
<body>
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Invia questo file: <input name="userfile" type="file"></br>
<input type="submit" value="Invia File">
</form>
</body>
</html>
upload.php
Codice PHP:
<?php// per prima cosa verifico che il file sia stato effettivamente caricato
if (!isset($_FILES['userfile']) || !is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo 'Non hai inviato nessun file...';
exit;
}
//percorso della cartella dove mettere i file caricati dagli utenti
$uploaddir = 'http://testingfile.altervista.org/ProvaInvia/invia%20file/img/';
//Recupero il percorso temporaneo del file
$userfile_tmp = $_FILES['userfile']['tmp_name'];
//recupero il nome originale del file caricato
$userfile_name = $_FILES['userfile']['name'];
//copio il file dalla sua posizione temporanea alla mia cartella upload
if (move_uploaded_file($userfile_tmp, $uploaddir . $userfile_name)) {
//Se l'operazione è andata a buon fine...
echo 'File inviato con successo.';
}else{
//Se l'operazione è fallta...
echo 'Upload NON valido!';
}
// limito la dimensione massima a 4MB
if ($_FILES['userfile']['size'] > 4194304) {
echo 'Il file è troppo grande!';
exit;
}
// verifica che il file non esiste gia
$target_file = '/var/www/myupload/' . $_FILES['userfile']['name'];if (file_exists($target_file)) {
echo 'Il file esiste già';
exit;
}
//verifica l'estensione del file
$ext_ok = array('doc', 'docx', 'pdf','png');
$temp = explode('.', $_FILES['userfile']['name']);$ext = end($temp);
if (!in_array($ext, $ext_ok)) {
echo 'Il file ha un estensione non ammessa!';
exit;
}
//verifica se è solo un immagine
$is_img = getimagesize($_FILES['userfile']['tmp_name']);if (!$is_img) {
echo 'Puoi inviare solo immagini';
exit;
}
?>