Ciao, sono riusito a far funzionare questo script il cui scopo è quello di ricevere in input un'immagine da un form, ridimensionarla e visualizzarla. Quello che non riesco a capire è come fare per salvare l'immagine ridimensionata!!
Ecco lo script:
codice:<?php // Check if file was uploaded ok if( ! is_uploaded_file($_FILES['image']['tmp_name']) || $_FILES['image']['error'] !== UPLOAD_ERR_OK) { exit('File not uploaded. Possibly too large.'); } // Create image from file switch(strtolower($_FILES['image']['type'])) { case 'image/jpeg': $image = imagecreatefromjpeg($_FILES['image']['tmp_name']); break; case 'image/png': $image = imagecreatefrompng($_FILES['image']['tmp_name']); break; case 'image/gif': $image = imagecreatefromgif($_FILES['image']['tmp_name']); break; default: exit('Unsupported type: '.$_FILES['image']['type']); } // Target dimensions $max_width = 240; $max_height = 180; // Get current dimensions $old_width = imagesx($image); $old_height = imagesy($image); // Calculate the scaling we need to do to fit the image inside our frame $scale = min($max_width/$old_width, $max_height/$old_height); // Get the new dimensions $new_width = ceil($scale*$old_width); $new_height = ceil($scale*$old_height); // Create new empty image $new = imagecreatetruecolor($new_width, $new_height); // Resize old image into new imagecopyresampled($new, $image,0, 0, 0, 0,$new_width, $new_height, $old_width, $old_height); // Catch the imagedata ob_start(); imagejpeg($new, NULL, 90); $data = ob_get_clean(); // Destroy resources imagedestroy($image); imagedestroy($new); // Set new content-type and status code header("Content-type: image/jpeg", true, 200); // Output data echo $data; ?>

Rispondi quotando