Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    ridimensionare immagine per salvarla nel server

    salve a tutti, ho un problema che proprio non riesco a risolvere...

    avrei bisogno di controllare se un'immagine ha un lato puù lungo di 640px, e se si ridimensionarla in percentuale, e poi al volo copialrla nel server...
    l'immagine la recupererei da un input file

    questo è il codice che ho:

    codice:
    do {
                if (is_uploaded_file($_FILES['image']['tmp_name'])) {
                    $_nome = $_FILES['image']['name'];
                    $_descrizione = $_POST['tit'];
    
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
    
    
    // Controllo che il file sia in formato JPG
                    if (($type != 2)) {
                        $msg = "
    
    Formato non corretto!!</p>";
                        break;
                    }
                    // Verifico che sul sul server non esista già un file con lo stesso nome
                    if (file_exists('../gallery_images/' . $_FILES['image']['name'])) {
                        $msg = "
    
    File già esistente sul server. Rinominarlo e riprovare.</p>";
                        break;
                    }
     // Inizio la ridimensione dell'immagine se necessario
                     
                    $max_lenght = $width;
                    if ($width < $height) {
                        $max_lenght = $height;
                    }
    
                    if ($max_lenght > 640) {
                        $coefficiente = 640 / $max_lenght;
                        $new_width = $width * $coefficiente;
                        $new_height = $height * $coefficiente;
                    }
    
                    $thumb = imagecreatetruecolor($new_width, $new_height);
                    $source = imagecreatefromjpeg($nome);
                    imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height,$width, $height);

    ora non so proprio come copiare l'immagine ridimensionata sul server nella cartella ../gallery_images

    Grazie in anticipo a tutti per l'eventuale aiuto!!!!

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    prima dell'elaborazione il file risiede qui
    codice:
     is_uploaded_file($_FILES['image']['tmp_name']
    quindi devi spostarlo nella directory definitiva
    codice:
    move_uploaded_file($_FILES['image']['tmp_name'], 'tua_directory/'.$_FILES['image']['name'])
    magari con una verifica
    codice:
    if (!move_uploaded_file($_FILES['image']['tmp_name'], 'tua_directory/'.$_FILES['image']['name'])) 
    {$msg = "Errore caricamento";       
    break;
     }

  3. #3
    grazie per la risposta, però il mio problema era di copiare l'immagine nella cartella solo dopo averla ridimensionata... in questo modo sposto l'immagine originale nella cartella di destinazione o no??

  4. #4
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    imagecopyresized
    cosa ti restituisce? vai a vedere cosa ha "scritto" nella dir temp delle immagini...

  5. #5
    ciao,

    ho risolto in questo modo:
    codice:
    imagejpeg($thumb, $_SERVER['DOCUMENT_ROOT']."/gallery_images/".$_nome, 75);
    cioè, specificando il percorso assoluto è tutto ok...


    Grazie per l'interessamento homerbit !!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.