ciao ho trovato questo script in rete e lo sto riadattando.
Devo caricare un'immagine sul server tramite una pagina web e creare una miniatura nella stessa cartella, in questo modo:
immagine.jpg (la foto caricata)
immagine._s.jpg (è la miniatura)
Il problema è che l'immagine viene caricata, ma la miniatura nemmeno l'ombra.... HELP!!!
Questo è il codice:
Codice PHP:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input name="image" type="file" size="40" />
<input name="upload" type="submit" value="Carica immagine" />
</form>
<?php
do {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Controllo che il file non superi i 18 KB
if ($_FILES['image']['size'] > 18432) {
$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 800x600
if (($width > 800) || ($height > 600)) {
$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'], 'foto/'.$_FILES['image']['name'])) {
$msg = "
Errore nel caricamento dell'immagine!!</p>";
break;
}
}
}
while (false);
echo $msg;
// Ottengo le informazioni sull'immagine originale
list($width, $height, $type, $attr) = getimagesize($_FILES['image']['name']);
// Creo la versione 120*90 dell'immagine (thumbnail)
$thumb = imagecreatetruecolor(120, 90);
$source = imagecreatefromjpeg($_FILES['image']['tmp_name']);
imagecopyresized($thumb, $source, 0, 0, 0, 0, 120, 90, $width, $height);
// Salvo l'immagine ridimensionata
imagejpeg($thumb, $_SERVER['DOCUMENT_ROOT'].'foto/'.$_FILES['image']_s['name'], 75);
?>