[PHP] modificare file su form immagine thump

Merlina3377

Nuovo Utente
21 Gen 2018
24
0
6
44
ho questo codice che mi inserisce nella cartella l'immagine che una persona carica tramite form
PHP:
<?php
function check_ext($tipo) {
 
    switch($tipo) {
        case "image/png":
            return true;
            break;
        case "image/jpg":
            return true;
            break;
        case "image/jpeg":
            return true;
            break;
        case "image/gif":
            return true;
            break;
        default:
            return false;
            break;
    }
 
}
 
function get_ext($tipo) {
 
    switch($tipo) {
        case "image/png":
            return ".png";
            break;
        case "image/jpg":
            return ".jpg";
            break;
        case "image/jpeg":
            return ".jpg";
            break;
        case "image/gif":
            return ".gif";
            break;
        default:
            return false;
            break;
    }
 
}

function get_error($tmp, $type, $size, $max_size) {
 
    if(!is_uploaded_file($tmp)) {
        echo "File caricato in modo non corretto<br />";
    }
    if(!check_ext($type)) {
        echo "Estensione del file non ammesso<br />";
    }
    if($size > $max_size) {
        echo "Dimensione del file troppo grande<br />";
    }
    echo '<a href="/videochat/test.php">Torna all\'uploader</a>';
 
}
 
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 5242880; //dimensione massima in byte consentita
$folder = "../videochat/img-profilo-chat/"; //cartella di destinazione dell'immagine
 
if(is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {

    $ext = get_ext($type); //estensione dell'immagine
    $name = time().rand(0,999); //timestamp attuale + un numero random compreso tra 0 e 999
    $name = $name.$ext; //aggiungo al nome appena creato l'estensione
    $name = $folder.$name; //aggiungo il folder di destinazione
    //esempio risultato finale: folder/timestamp657.gif
    if(move_uploaded_file($tmp,$name)) { 
        echo 'Immagine caricata con successo, <a href="'.$name.'"/>vai all\'immagine</a> <br />';
        echo '<a href="/videochat/test.php">Torna all\'uploader</a>';
    } else {
        echo "Non è stato possibile caricare l'immagine<br />";
        echo '<a href="/videochat/test.php">Torna all\'uploader</a>';
    }
} else {
 
    get_error($tmp, $type, $size, $max_size);
 
}


?>
mi dite come posso modificarlo in modo tale che l'utente quando inserisce l'immagine venga ritaglita ad esempio 100 x 100? un utente inserisce una foto 1230x650, vorrei che a caricasse ritagliata 100x100, come modifico il codice?
 

Discussioni simili