• Super User

    Hai verificato che sul server non siano già installate?
    Comunque se non hai accesso all'amministrazione del server,sappi che non puoi.


  • User Attivo

    No, con aruba non ho accesso all'amministrazione del server.

    E non esiste un modo per aggirare le librerie per fare dei thumb da immagini?


  • Super User

    Usa qualche servizio esterno per la creazione di thumbshots,in alternativa,se hai la possibilità di effettuare connessioni php esterne,fai un include di uno script locato su un altro server sul quale sono installate le librerie GD contenente il codice di creazione delle thumbs.


  • User Attivo

    quello che pensavo io è che se pacchetti come joomla e wordpress creano thumb anche senza librerie, ci sarà quindi un modo che scavalchi le librerie..

    o penso male?


  • User Attivo

    Dopo aver cercato per 3 ore in rete ho trovato un codice che aggira finalmente le libreria, il risultato non sarà superbo ma è un gran passo avanti.

    
    
    <?php   
    
    
       function thumb($foto){
       
       $s_thumbnail = "";
       $nome_immagine = "./". $foto;
       $max_alt = 150;
       $max_lar = 150;
    
       if(!file_exists($nome_immagine))
          $s_thumbnail = "<h3>Nessuna immagine!</h3>";
       else {
          $info_immagine = getimagesize($nome_immagine);
    
          switch($info_immagine[2]) {
             case 1:
                //GIF
                $thumbnail = @imagecreatefromgif($nome_immagine);
                break;
             case 2:
                //JPG
                $thumbnail = @imagecreatefromjpeg($nome_immagine);
                break;
             case 3:
                //PNG
                $thumbnail = @imagecreatefrompng($nome_immagine);
                break;
             default:
                //ALTRO
                $s_thumbnail = "<h3>Nessuna immagine!</h3>";
                break;
          }
       }
    
       if($thumbnail) {
          $lar = imagesx($thumbnail);
          $alt = imagesy($thumbnail);
          $scala = min($max_lar / $lar, $max_alt / $alt);
    
          if($scala < 1) {
             $new_lar = floor($scala*$lar);
             $new_alt = floor($scala*$alt);
    
             $tmp_thumbnail = imagecreatetruecolor($new_lar, $new_alt);
             imagecopyresized($tmp_thumbnail, $thumbnail, 0, 0, 0, 0, $new_lar, $new_alt, $lar, $alt);
             imagedestroy($thumbnail);
             $thumbnail = $tmp_thumbnail;
          }
       
          header("Content-type: image/jpeg");
          imagejpeg($thumbnail);
       } else
          echo $s_thumbnail;
    	  
    	  }
    
    	     thumb("Pre-partita.JPG");
    		 
    ?> 
    
    
    

  • Super User

    Quello script non aggira le librerie GD,ma si basa su di esse 😄


  • User Attivo

    e allora come è possibile che mi funzioni se non ho librerie installate, o almeno credo.

    Comunque è un bello scripptino, può tornare utile a tutti 🙂


  • Super User

    Probabilmente ti funziona perchè hai le librerie GD installate 😄


  • User Attivo

    ritiro quello che ho detto, c'è un problemone.

    Nel momento in cui questo script viene inserito tra i tag

    <html><head></head><body></body></html>

    non funziona più, stampa il path del file su cui gira lo script.

    in più nel codice appaiono una serie di caratteri incompresibili.

    Ho provato anche in un host dove ho sicuramente le librerie installate e il risultato non cambia.

    Qualche idea?


  • User Attivo

    Fatta ancora una modifica.

    Stavolta per evitare quell'errore ho fatto in modo che mi salvasse il thumb sul server e così non mi da tutti quei problemi sotto.

    Ecco il codice.

    
    
    <html>
    
    <head>
    </head>
    
    <body>
    
    <?php   
    
       function thumb($foto){
       
       $s_thumbnail = "";
       $nome_immagine = "./". $foto;
       $max_alt = 140;
       $max_lar = 120;
    
       if(!file_exists($nome_immagine))
          $s_thumbnail = "<h3>Nessuna immagine!</h3>";
       else {
          $info_immagine = getimagesize($nome_immagine);
    
          switch($info_immagine[2]) {
             case 1:
                //GIF
                $thumbnail = @imagecreatefromgif($nome_immagine);
                break;
             case 2:
                //JPG
                $thumbnail = @imagecreatefromjpeg($nome_immagine);
                break;
             case 3:
                //PNG
                $thumbnail = @imagecreatefrompng($nome_immagine);
                break;
             default:
                //ALTRO
                $s_thumbnail = "<h3>Nessuna immagine!</h3>";
                break;
          }
       }
    
       if($thumbnail) {
          $lar = imagesx($thumbnail);
          $alt = imagesy($thumbnail);
          $scala = min($max_lar / $lar, $max_alt / $alt);
    
          if($scala < 1) {
             $new_lar = floor($scala*$lar);
             $new_alt = floor($scala*$alt);
    
             $tmp_thumbnail = imagecreatetruecolor($new_lar, $new_alt);
             imagecopyresized($tmp_thumbnail, $thumbnail, 0, 0, 0, 0, $new_lar, $new_alt, $lar, $alt);
             
             $thumbnail = $tmp_thumbnail;
          }
       
    		$nomeimage = "th_".$foto ;
    		#creazione preview con GD library
    		$new_width=120;      //Larghezza immagine ridimensionata
    		$new_height=90;      //Altezza immagine ridimensionata
    		$source_path="./";      //Diretory dove si trova il file di cui volgiamo fare la preview
    		$destination_path="./photo/";      //diretory dove vogliamo salvare l'immagine di preview
      
    		ImageJPEG($thumbnail,$destination_path.$nomeimage) or die("Problemi nel salvataggio");
       } else
          echo $s_thumbnail;
    	  
    	  }
    
    	  thumb("Pre-Partita.JPG");
    
    ?> 
    
    </body>
    
    </html>
    
    
    

    Non demordo mica 😄