salve, siccome quest'anno dovrò sostenere gli esami di stato ho deciso di portare una specie di gestionale, scritto con HTML, CSS (con framework bootstrap), PHP e MySQL per il database. Siccome inserire direttamente le immagini nei database è un operazione limitata e macchinosa, ho pensato di uplodare le immagini dal computer in una cartella dello spazio web dove sarà ospitato il mio sito e poi inserire in una tabella del database solo il percorso a quest'immagine a cui posso poi risalire tramite una query.
Al momento quindi quello che mi interessa fare è uplodare la foto tramite un form. Siccome in PHP fino ad ora non ho mai utilizzato le funzioni di upload, mi sono messo a cercare un po su internet e sono arrivato a scrivere i seguenti codici:
form.php
codice:<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title>Document</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="image" type="file"><br> <input type="submit" value="Invia File"> </form> </body> </html>
questo è un semplice form che passa i parametri allo script upload.php
come potete vedere le immagini dovrebbero essere copiate nella cartella filecodice:<?php$messaggio=""; if(is_uploaded_file($_FILES['image']['tmp_name'])) { //controllo che il file non superi i 100 KB (1 kilobyte = 1024 byte) if($_FILES['image']['size']>102400) $messaggio.="Il file ha dimensioni che superano i 100 KB<br />"; //recupero le informazioni sull'immagine list($width, $height, $type, $attr)=getimagesize($_FILES['image']['tmp_name']); //controllo che le dimensioni (in pixel) non superino 800x600 if(($width>800) or ($height>600)) $messaggio.="Il file non deve superare le dimensioni di 800x600<br />"; //controllo che il file sia in uno dei formati GIF, JPG o PNG if(($type!=1) and ($type!=2) and ($type!=3)) $messaggio.="Il file caricato deve essere un'immagine<br />"; //controllo che non esiste già un file con lo stesso nome if(file_exists('file/'.$_FILES['image']['name'])) $messaggio.="Esiste già un file con lo stesso nome. Rinominare l'immagine prima di caricarla<br />"; //salvo il file nella cartella di destinazione if(!move_uploaded_file($_FILES['image']['tmp_name'], 'file/'.$_FILES['image']['name'])) $messaggio.="Errore imprevisto nel caricamento del file. Controllare i permessi della cartella di destinazione"; } if($messaggio!="") echo $messaggio; ?>
che si trova nella stessa cartella dove stanno i due script. l'upload non avviene e non mi esce nessun errore. Come mai?
attualmente sto lavorando tramite un web server locale. Ringrazio in anticipo chi saprà aiutarmi

Rispondi quotando
