Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di Fool
    Registrato dal
    May 2002
    Messaggi
    8,342

    Upload immagini & resize con proporzioni

    Sto lavorando ad uno script che preleva una immagine di dimensioni sconosciute e l'adatta alla grafica. Di preciso l'immagine dovra essere larga n pixel (supponiamo 200) e adattare di conseguenza la lunghezza senza cannare le proporzioni.

    Per ora sono arrivato a

    Codice PHP:
    error_reporting(2047);

    if (isset(
    $_POST["invio"])) {
      
    $percorso "upload_img/";
      if (
    is_uploaded_file($_FILES['file1']['tmp_name'])) {
      
      
    $nuovonome=date("U");
      
        if (
    move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$_FILES['file1']['name'])) {

          echo 
    'File caricato correttamente

    '
    ;
        } else {
          echo 
    "si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
        }
      } else {
        echo 
    "si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
      }

    Come faccio ad implementare un resize che mantenga le proporzioni su questo codice?
    Ho fatto una ricerca e non ho trovato nulla che sia riuscito a capire

    Ciao e grazie in anticipo

  2. #2
    Codice PHP:
    function Thumb($src$w$h){
      
    $size getimagesize($src);
      if( 
    $size[2] == ){$im = @imagecreatefromjpeg($src);}
      elseif( 
    $size[2] == ){$im = @imagecreatefromgif($src);}
      elseif( 
    $size[2] == ){$im = @imagecreatefrompng($src);}

      
    $newwidth $size[0];
      
    $newheight $size[1];

      if( 
    $newwidth $w ){
        
    $newheight = ($w $newwidth) * $newheight;
        
    $newwidth $w;
      }
      if( 
    $newheight $h ){
        
    $newwidth = ($h $newheight) * $newwidth;
        
    $newheight $h;
      }


        
    $new imagecreatetruecolor($newwidth$newheight);
        
    imagecopyresampled($new$im0000$newwidth$newheight$size[0], $size[1]);

    header('Content-Type: ' $size['mime']);
      if( 
    $size[2] == ){
      
    // qui devi decidere se non passi nessun indirizzo alla funzione te la visualizza
    @imagejpeg($new''100);
    // altrimenti gli dai l'indirizzo dove deve salvarla
    @imagejpeg($new'./nuova.jpg'100);

      }
      elseif( 
    $size[2] == ){@imagegif($new);}
      elseif( 
    $size[2] == ){@imagepng($new);}

      @
    imagedestroy($im);
      @
    imagedestroy($new);

    }

    // richiamo funzione
    Thumb("indirizzo img"200200); 

  3. #3
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    ciao,

    con getimagesize() ottieni un array che ti da 4 elementi:

    Codice PHP:
    $myimage getimagesize("myimg.jpg");

    $myimage[0]: larghezza
    $myimahe
    [1]: altezza
    $myimage
    [2]: extension
    $myimage
    [3]: string intero 
    è ciò che cercavi vero?

    http://de.php.net/manual/en/function.getimagesize.php

  4. #4
    Utente di HTML.it L'avatar di Fool
    Registrato dal
    May 2002
    Messaggi
    8,342
    Si avevo dato una occhiata a getimagesize, il problema è che avendo le dimensioni dell'immagine caricata come faccio a dargli quelle nuove ?

    Grazie

  5. #5
    nella funzione che ti ho postato basta inserire l'indirizzo della tua immagine e poi la dimensioni max..

  6. #6
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    lasciale così sul server , quando le vuoi visualizzare usi la funzione e ridimensioni a piacimento, no?

  7. #7
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    niente da fare nicodj88 è più veloce

  8. #8
    ..ma che...

  9. #9
    Utente di HTML.it L'avatar di Fool
    Registrato dal
    May 2002
    Messaggi
    8,342
    Warning: Missing argument 3 for thumb() in admin_articoli.php on line 30

    e la invoco

    error_reporting(2047);

    if (isset($_POST["invio"])) {
    $percorso = "upload_img/";
    if (is_uploaded_file($_FILES['file1']['tmp_name'])) {

    $nuovonome=date("U");

    if (move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$_FILES['file1']['name'])) {

    Thumb($percorso.$_FILES['file1']['name'], 100);

    echo 'Nome file: '.$_FILES['file1']['name'].'
    ';
    echo 'MIME Type: '.$_FILES['file1']['type'].'
    ';
    echo 'Dimensione: '.$_FILES['file1']['size'].' byte
    ';
    echo '======================
    ';
    $file1=$_FILES['file1']['name'];
    echo 'File caricato correttamente

    ';
    } else {
    echo "si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
    }
    } else {
    echo "si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
    }
    }

  10. #10
    Utente di HTML.it L'avatar di Fool
    Registrato dal
    May 2002
    Messaggi
    8,342
    Originariamente inviato da jeppox
    lasciale così sul server , quando le vuoi visualizzare usi la funzione e ridimensioni a piacimento, no?
    Il problema è che non saro' io a caricare le immagini ma persone che potrebbero anche inserire immagini gigantesche che occuperebbero memoria per niente

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.