Salve ragazzi sto sviluppando un piccolo script php per fare l'upload di un file il condice funziona quasi bene ovvero se la pagina la apro direttamente sul server l'upload va a buon fine se invere apro la pagina da un altro dispositivo la pagina mi restituisce : Non hai inviato nessun file...
pagina html
codice HTML:
<html>
<head>
<title>File upload</title>
</head>
<body>
<form method="post" action="Upload.php" enctype="multipart/form-data">
<input type="hidden" name="action" value="upload" />
<label>Carica il tuo file:</label>
<input type="file" name="userfile" />
<br />
<input type="submit" value="Carica online" />
</form>
</body>
</html>
pagina php
Codice PHP:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
//percorso della cartella dove mettere i file caricati dagli utenti
$uploaddir = '/var/www/html/';
// 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;
}
// limito la dimensione massima a 2MB
if ($_FILES['userfile']['size'] > 2194304) {
echo 'Il file è troppo grande!';
exit;
}
// verifico che l'upload non sovacrivi un file dello stesso nome
$target_file = $uploaddir . $_FILES['userfile']['name'];
if (file_exists($target_file)) {
echo 'Il file esiste gia\'';
exit;
}
// Verificare se il file è effettivamente un immagine
$is_img = getimagesize($_FILES['userfile']['tmp_name']);
if (!$is_img) {
echo 'Puoi inviare solo immagini';
exit;
}
//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!';
}
?>