Ragazzi sto costruendo uno script di upload di immagini, solo che mi sono chiesto una cosa.. quando un utente invia la propria foto che magari sarà 400px x 300px, mentre il box che dovrà contenere le foto sara di 250px x 200px, come posso far adattare le immagini degli utenti alla perfezioni con il mio box in automatico?? senza dover obbligare l'utente a tagliare la foto etc.. è la stessa funzione che utilizza Facebook, perchè l'utente inserisce la foto che desidera nel profilo ma poi sarà automaticamente ridotto al box.
Come posso fare ad implementare imagecopyresized nel mio codice php
Codice PHP:
<?php
//Collegamento MySql
$db = mysql_connect('localhost', '*********', '********') or
die ('Non è possibile connttersi');
mysql_select_db('my_variepagine', $db) or die (mysql_error ($db));
//cartella images
$dir= 'images';
//Si assicura che il caricamento si avvenuto
if ($_FILES ['uploadfile'] ['error'] != UPLOAD_ERR_OK) {
switch ($_FILES ['uploadfile'] ['error'] ) {
case UPLOAD_ERR_INI_SIZE:
die('File troppo grande' . 'in php.ini.');
break;
case UPLOAD_ERR_FORM_SIZE:
die ('File troppo grande');
break;
case UPLOAD_ERR_PARTIAL:
die ('the upload files was only partially upload');
break;
case UPLOAD_ERR_NO_FILE:
die ('No file was upload');
break;
case UPLOAD_ERR_TMP_DIR:
die ('The server is missing a temporary folder');
break;
case UPLOAD_ERR_CANT_WRITE:
die ('The server failed to write upload');
break;
case UPLOAD_ERR_EXTENSION:
die ('The upload stopped extension');
break;
}
}
//Recupera le info delle immagini appena caricata
$image_caption = $_POST ['caption'];
$image_username = $_POST ['username'];
$image_date = date ('Y-m-d');
list ($width, $height, $type, $attr) =
getimagesize ($_FILES ['uploadfile'] ['tmp_name']);
//Controlla se il il file caricato è supportato
$error = 'The file you upload non è supportato ';
switch ($type) {
case IMAGETYPE_GIF:
$image = imagecreatefromgif ($_FILES ['uploadfile'] ['tmp_name']) or die
($error);
break;
case IMAGETYPE_JPEG:
$image = imagecreatefromjpeg ($_FILES ['uploadfile'] ['tmp_name']) or die
($error);
break;
case IMAGETYPE_PNG:
$image = imagecreatefrompng ($_FILES ['uploadfile'] ['tmp_name']) or die
($error);
break;
default:
die ($error);
}
//Inserisce nella tabella Image le info
$query = 'INSERT INTO images
(image_caption, image_username, image_date)
VALUES
("' . $image_caption . '", "' . $image_username . '", "' . $image_date . '")';
$result = mysql_query($query, $db) or die (mysql_error ($db));
//Recupera il valore di image_id da mysql
$last_id = mysql_insert_id ();
//Salva le immagini nella destinazione finale
$imagename = $last_id . '.jpg';
imagejpeg ($image, $dir . '/' . $imagename);
imagedestroy ($image);
?>