Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Resize img

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    266

    Resize img

    Salve ragazzi ho trovato uno script per il ridimensionamento di una sola img contenuta in una cartella:

    resize.php
    Codice PHP:
    <?
    include("classe_resize.php");

    $resize = new resize;
    $resize->urlimage "folder/*.jpg";
    $resize->fisso 1;
    $resize->maxX 280;
    $resize->maxY 240;
    $resize->latofisso "X";
    $resize->folder "red/";
    $resize->newName "";
    $resize->go();

    if(
    count($resize->errore)==0){
        echo 
    "Nome file originale: ".$resize->originalName."
    "
    ;
        echo 
    "Altezza file originale: ".$resize->originalY."
    "
    ;
        echo 
    "Larghezza file originale: ".$resize->originalX."
    "
    ;
        echo 
    "Nuova Altezza: ".$resize->newY."
    "
    ;
        echo 
    "Nuova Larghezza: ".$resize->newX."
    "
    ;
    }else{
        echo 
    implode("
    "
    $resize->errore);
    }
    ?>
    classe_resize.php
    Codice PHP:
    <?php
    class resize{    
        var 
    $urlimage "";
        var 
    $maxX 100;
        var 
    $maxY 100;
        var 
    $fisso 1;
        var 
    $latofisso "XY";
        var 
    $folder "public/";
        var 
    $newName "";
        
        
        
        function 
    controlladati(){
            
    $this->errore = array();
            
    $this->Estensione "";
            
    $this->originalX 0;
            
    $this->originalY 0;
            
    $this->originalName "";
            
    $this->newX 0;
            
    $this->newY 0;
            
            if(
    $this->urlimage==""){
                
    array_push($this->errore,"Scegliere un file da ridimensionare");
            }elseif(!
    file_exists($this->urlimage) || !is_file($this->urlimage)){
                
    array_push($this->errore,"Il file selezionato non esiste");
            }
            if(!
    is_numeric($this->maxX) || !is_numeric($this->maxY) || $this->maxX<|| $this->maxY<0){
                
    array_push($this->errore,"L'altezza e la larghezza dell'immagine devono essere numerici");
            }
            if(!
    file_exists($this->folder) || !chmod($this->folder,0777)){
                
    array_push($this->errore,"La cartella di destinazione non esiste o non è scrivibile");
            }
            if(
    $this->fisso!=&& $this->fisso!=1){
                
    array_push($this->errore,"La variabile di dimensione fissa deve essere 0 o 1");
            }
            if(
    $this->latofisso!="XY" && $this->latofisso!="X" && $this->latofisso!="Y"){
                
    array_push($this->errore,"La variabile di lato fisso devono essere X o Y o XY");
            }
            if(
    count($this->errore)>0){
                return 
    false;
            }else{
                return 
    true;
            }
        }
        
        function 
    go(){
            if(
    $this->controlladati()){
                
    $filename basename($this->urlimage);
                
    $this->originalName $filename;
                if(
    $this->newName==""){$this->newName=$filename;}
                
    $this->Estensione strtolower(substr($filenamestrrpos($filename"."), strlen($filename)-strrpos($filename".")));
                if(
    $this->Estensione==".jpeg" || $this->Estensione==".jpg"){
                    
    $handle_immagine imagecreatefromjpeg($this->urlimage);
                }elseif(
    $this->Estensione==".gif"){
                    
    $handle_immagine imagecreatefromgif($this->urlimage);
                }elseif(
    $this->Estensione==".png"){
                    
    $handle_immagine imagecreatefrompng($this->urlimage);
                }else{
                    
    array_push($this->errore,"Formato immagine non valido");
                    return 
    null;
                }
                
    $handle_immagine_adattata=$this->adatta($handle_immagine);
                
    imagejpeg($handle_immagine_adattata$this->folder.$this->newName80);
                
    chmod($this->folder.$this->newName,0777);
                unset(
    $handle_immagine);
                unset(
    $handle_immagine_adattata);
            }
        }
        
        function 
    adatta($handle_immagine){
            
    $this->originalX=imagesx($handle_immagine);
            
    $this->originalY=imagesy($handle_immagine);
            if(
    $this->fisso==1){
                
    $this->newX=$this->maxX;
                
    $this->newY=$this->maxY;
            }else{
                if(
    $this->latofisso=="XY"){
                    if (
    $this->originalX/$this->originalY>$this->maxX/$this->maxY) {
                        
    $this->newX=$this->maxX;
                        
    $this->newY=($this->originalY/$this->originalX)*$this->maxX;
                    } else {
                        
    $this->newX=($this->originalX/$this->originalY)*$this->maxY;
                        
    $this->newY=$this->maxY;
                    }
                }elseif(
    $this->latofisso=="X"){
                    
    $this->newX=$this->maxX;
                    
    $this->newY=($this->originalY/$this->originalX)*$this->maxX;
                }elseif(
    $this->latofisso=="Y"){
                    
    $this->newX=($this->originalX/$this->originalY)*$this->maxY;
                    
    $this->newY=$this->maxY;
                }else{
                    if (
    $this->originalX/$this->originalY>$this->maxX/$this->maxY) {
                        
    $this->newX=$this->maxX;
                        
    $this->newY=($this->originalY/$this->originalX)*$this->maxX;
                    } else {
                        
    $this->newX=($this->originalX/$this->originalY)*$this->maxY;
                        
    $this->newY=$this->maxY;
                    }
                }
            }
            
    $tmp_immagine imagecreatetruecolor($this->newX$this->newY);
            
    $handle_immagine_adattata imagecopyresampled($tmp_immagine$handle_immagine0000$this->newX$this->newY$this->originalX$this->originalY);
            return 
    $tmp_immagine;
            
        }

    }
    ?>

    Funziona tutto alla perfezzione, però a me servirebbe modificare non solo un file ma tutti i file con estensione .jpg automaticamente...

    Come faccio?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ti basta ricavare la lista delle immagini e di passare ognuna all'oggetto.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    266
    Si.. in che modo?

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.