Allora ho creato uno script prendendo alcune funzioni da internet per ridiemnsionare l'immagine potete dare un occhiata e controllare se ho fatto tutto bene vi pregho sono 2 paginette!
index.php (che è quella che mi preoccupa di più)
Codice PHP:
<?php
$max_file_size = 102400;//Dimensione massima di un file.102400 Bytes = 100 KiloByte;1024 Bytes = 1 KiloByte
$image_type = array('jpeg', 'jpg', 'png', 'gif', 'bmp'); //Estensioni accettate.Badate bene di scriverle in minuscolo!
if(isset($_FILES['file'])){//Se esiste $_FILES
// se l'immagine è orizzontale questo numero rappresenta la larghezza in pixel della miniatura
// altrimenti, se l'immagine è verticale, rappresenta l'altezza della miniatura.
$thumb_width = 165;
// se l'immagine è orizzontale questo numero rappresenta la larghezza in pixel della foto dopo essere stata ridimensionata
// altrimenti, se l'immagine è verticale, ne rappresenta l'altezza.
$photo_width = 165;
require "class.upload.php";//includiamo la classe
$obj = new upload($_FILES['file'],$destination_path = "",$max_file_size,$image_type); //Inizializziamo la classe!
// Se non esiste la cartella di destinazione delle miniature ne si forza la creazione
if (!file_exists($destination_path))
{
mkdir($VariabileConID , 0777);
}
/*Il primo parametro è il file
il secondo la cartella con le immagini(E ricordate di inserire / dopo il nome);
Il terzo parametro è il limite massimo di grandezza dei files
il quarto parametro è l'array contenente le estensioni accettate
*/
}
?>
<?php
echo "Estensioni accettate : ";//Scrive, tramite foreach, tutte le estensioni accettate
foreach($image_type as $type){
echo $type." ";
}
// Apertura della directory in cui sono contenute le foto a dimensione originale
if ($handle = opendir($VariabileConID))
// Lettura delle immagini conenute nella cartella $VariabileConID
while (false !== ($file = readdir($handle)))
{
list($width, $height, $type, $attr) = @getimagesize($VariabileConID.$file);
// Elaborazione delle nuove dimensioni (altezza e larghezza) in proporzione.
// Ciò consente di non alterare la qualità della immagine.
if($width > $height)
{
$new_width = $quanto;
$new_height = ($quanto * $height) / $width;
$new_height = number_format($new_height, 0);
}
elseif($height > $width)
{
$new_height = $quanto;
$new_width = ($quanto * $width) / $height;
$new_width = number_format($new_width, 0);
}
elseif($height == $width)
{
$new_width = $quanto;
$new_height = $quanto;
}
//Se si sta visualizzando una singola foto e questa è già stata ridimensionata si ignora questo passaggio, altrimenti la foto viene ridimensionata.
// L'"if" controlla se la foto in questione ha già le dimensioni desiderate. Se le dimensioni non sono uguali a quelle volute, verrà ridimensionata.
if ($mode == "view")
{
if ($new_height != $height && $new_width != $width)
{
isset($compression) ? $compression = $compression : $compression = 100; // In caso non sia settata la compressione gli si assegna il valore di default
$destimg=imagecreatetruecolor($new_width,$new_height) or die("Problemi nelle creazioni dell'immagine");// Creazione Immagine
ImageCopyResampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problemi nel ridimensionamento"); //Ridimensionamento Nuova Immagine
ImageJPEG($destimg, $destination_path.$file, $compression) or die("Problemi nel salvataggio"); //Salvataggio Nuova Immagine
}
}
?>
<form enctype="multipart/form-data" action="index.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size; ?>" />
<input type="file" name="file" />
<input type="submit" name="upload" value="Upload">
</form>