Ciao a tutti.
Ho la necessità di fare un'applicazione che consenta l'upload di immagini.
Il codice è il seguente:
Codice PHP:
do {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Controllo che il file non superi i 250 KB
if ($_FILES['image']['size'] > 256000) {
$msg = "
Il file non deve superare i 250 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_img/'.$_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'], 'img_upload/'.$_FILES['image']['name'])) {
$msg = "
Errore nel caricamento dell'immagine!!</p>";
break;
}
}
} while (false);
echo $msg;
Purtroppo, però, il comando move_uploaded_file mi ritorna un errore, il medesimo che ottengo se cerco di scrivere o copiare un file:
PHP Warning: move_uploaded_file(img_upload\2_P1000575.jpg): failed to open stream: Permission denied in c:\inetpub\wwwroot\moduli\Upload\upload.php on line 36 PHP Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\TEMP\php3A.tmp' to 'img_upload/2_P1000575.jpg' in c:\inetpub\wwwroot\moduli\Upload\upload.php on line 36
La cartella img_upload non è in sola lettura ed ho provato a crearla sia fisicamente che dall'IIS.
Ho anche provato a scrivere l'intero percorso, ma ottengo sempre il medesimo errore, come se non ci fosse l'autorizzazione a scrivere nella cartella.
Sono sicuro che si tratti di una sciocchezza, che però è insormontabile per chi come me non ha idea di come risolverla.
Qualcuno ha qualche buon consiglio da darmi?
Grazie. Claudio.