Salve, non riesco a recuperare un'immagine; in pratica caricando l'immagine dal sito si crea solo la cartella, ma l'immagine non viene caricata al suo interno, e l'indirizzo ipotetico della collocazione dell'imagine all'interno del server non viene mai creato. Avevo trovato un form su internet un anno fà per poter caricare l'immagine, e dopo averlo modificato sono riuscito a farlo funzionare, ma adesso non resco a modificare un'immagine precedentemente inserita, o a inserirla se non è stato fatto in principio. Vi posto il codice, ma se avete un esempio vostro o una guida che spieghi come fare vi prego di postarmeli.
I dati li prelevo da un form così:
codice:
<label for="foto">Foto</label><input type="file" name="foto" id="foto" />
Poi dopo l'invio dei dati lo catturo in questo modo:
Codice PHP:
$foto = mysql_real_escape_string($_FILES["image"]["name"]);
E infine li cerco di elaborare l'immagine:
Codice PHP:
if($foto = ""){ echo 'Vuoto'; }{ $intDir = $_SERVER['DOCUMENT_ROOT'].'/upload/prova2/'; if (is_dir($intDir)) { echo "La directory esiste"; do { if (is_uploaded_file($_FILES['image']['tmp_name'])) { // Controllo che il file non superi i 3145278 KB if ($_FILES['image']['size'] > 3145728) { $msg = "
Il file non deve superare i 3145278 KB!!</p>"; break; } // Ottengo le informazioni sull'immagine list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']); // Controllo che le dimensioni (in pixel) non superino 1500x1500 if (($width > 1500) || ($height > 1500)) { $msg = "
Dimensioni non corrette!!</p>"; break; } // Controllo che il file sia in uno dei formati GIF, JPG o PNG if (($type!=1) && ($type!=2) && ($type!=3)) { $msg = "
Formato non corretto!!</p>"; break; } // Verifico che sul sul server non esista già un file con lo stesso nome // In alternativa potrei dare io un nome che sia funzione della data e dell'ora if (file_exists('/upload/prova2/'.$_FILES['image']['name'])) { $msg = "
File già esistente sul server. Rinominarlo e riprovare.</p>"; break; } // Sposto il file nella cartella da me desiderata if (!move_uploaded_file($_FILES['image']['tmp_name'], '/upload/prova2/'.$_FILES['image']['name'])) { $msg = "
Errore nel caricamento dell'immagine!!</p>"; break; }else{ $foto = "/upload/prova2/".$_FILES['image']['name']; } } } while (false); echo $msg; } else { mkdir($intDir, 0777); echo "Directory creata";{ do { if (is_uploaded_file($_FILES['image']['tmp_name'])) { // Controllo che il file non superi i 18 KB if ($_FILES['image']['size'] > 3145728) { $msg = "
Il file non deve superare i 18 KB!!</p>"; break; } // Ottengo le informazioni sull'immagine list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']); // Controllo che le dimensioni (in pixel) non superino 160x180 if (($width > 1500) || ($height > 1500)) { $msg = "
Dimensioni non corrette!!</p>"; break; } // Controllo che il file sia in uno dei formati GIF, JPG o PNG if (($type!=1) && ($type!=2) && ($type!=3)) { $msg = "
Formato non corretto!!</p>"; break; } // Sposto il file nella cartella da me desiderata if (!move_uploaded_file($_FILES['image']['tmp_name'], '/upload/prova2/'.$_FILES['image']['name'])) { $msg = "
Errore nel caricamento dell'immagine!!</p>"; break; }else{ $foto = "/upload/prova2/".$_FILES['image']['name']; } } } while (false); echo $msg; }} $aggiornafoto = mysql_query("UPDATE utenti SET foto='$foto' WHERE id = '$id' AND username='$username'");
Cosa sbaglio?