Cannot redeclare class img

Salve una pagina per la gestione delle immagini ha smesso di funzionare in seguito a delle modifiche su register globals.

questo è l'errore

Fatal error: Cannot redeclare class img in /home/solarisy/public_html/backbroker/img.class.php on line 2

nella pagina c'è questa chiamata

include ('img.class.php');

questo è il file img img.clas

class IMG{
   //dichiaro le VARIABILI GLOBALI
   var $_img; //variabile globale dell'immmagine
   var $_x; //variabile globale dimensione width img
   var $_y; //variabile globale dimensione height img
   var $_type; //variabile globale tipo img
   var $_width;  //dimensione w immagine finale
   var $_height;  //dimensione h immagine finale
   var $_versione; // versione dell'immagine orizzontale o verticale
   
   //dichiaro il COTRUTTORE   
   function IMG($file=""){
      if($file!=""){
         $this->_x=0;
         $this->_y=0;
         $this->info($file);
         $this->load($file);
      }
   }

   // definisco la funzione "load"
   function load($file){
      if($file=="") return FALSE;
      if($this->_type=="") return FALSE;
      else {
         switch($this->_type){
            case "gif":
               return FALSE; //questo perché le img GID con la GD2 non funzionano
            break;

            case "jpeg":
               $this->_img=imagecreatefromjpeg($file);
            break;

            case "png":
               $this->_img=imagecreatefrompng($file);
            break;

            case "wbmp":
               $this->_img=imagecreatefromwbmp($file);
            break;

            default:
               return FALSE;
            break;
         }
         return TRUE;
      }
   }
   
   //ritorno valore width
   function getWidth(){
      return $this->_x;
   }
   
   //ritorno valore height
   function getHeight(){
      return $this->_y;
   }
   
   //ritorno valore type
   function getType(){
      return $this->_type;
   }

   //ritorno versione type
   function getVersione(){
      if($this->_x > $this->_y) $this->_versione="o"; //orizzontale
      else $this->_versione = "v"; //verticale
      return $this->_versione;
   }
      
   //dichiarazione delle caratteristiche dell'img
   function info($file){
      if($file=="") return FALSE;
      $info=getimagesize($file);
      if($info==FALSE) return FALSE;
      else {
         switch($info[2]){
            case 1:
               $this->_type="gif";
            break;

            case 2:
               $this->_type="jpeg";
            break;

            case 3:
               $this->_type="png";
            break;

            case 6:
               $this->_type="wbmp";
            break;

            default:
               return FALSE;
            break;
         }
         $this->_x=$info[0]; //assegno il valore a x e y
         $this->_y=$info[1];
         return TRUE;
      }
   }
   
   //dichiarazione funzione "resize"
   function resize($width="",$height="",$r=255,$g=255,$b=255){
      if($this->_x==0||$this->_y==0) return FALSE;
      else {
         $scale = min($width/$this->_x, $height/$this->_y);
         $img_width = (int)($this->_x*$scale);
         $img_height = (int)($this->_y*$scale);
         $deltaw = (int)(($width - $img_width)/2);
         $deltah = (int)(($height - $img_height)/2);
         $newimg=imagecreatetruecolor($width,$height); //imagecreatetruecolor GD2
         $color = imagecolorallocate ($this->_img,$r,$g,$b);
         imagefill($newimg,0,0,$color);
         $ok=imagecopyresampled($newimg,$this->_img,$deltaw,$deltah,0,0,$img_width,$img_height,$this->_x,$this->_y); //imagecopyresampled GD2
         $this->_x=$width;
         $this->_y=$height;
         if($ok==FALSE) return FALSE;
         else {
            $this->_img=$newimg;
            return TRUE;
         }
      }
   }
   
   //dichiarazione funzione "resize max"
   function resize_max($max_w="",$max_h=""){
      if($this->_x==0||$this->_y==0) return FALSE;
      else {
         $scale = min($max_w/$this->_x, $max_h/$this->_y);
         $img_width = (int)($this->_x*$scale);
         $img_height = (int)($this->_y*$scale);
         $newimg=imagecreatetruecolor($img_width,$img_height); //imagecreatetruecolor GD2
         $ok=imagecopyresampled($newimg,$this->_img,0,0,0,0,$img_width,$img_height,$this->_x,$this->_y); //imagecopyresampled GD2
         $this->_x=$img_width;
         $this->_y=$img_height;
         if($ok==FALSE) return FALSE;
         else {
            $this->_img=$newimg;
            return TRUE;
         }
      }
   }
   
   //dichiarazione funzione "img centrale" + dimensioni
   function centro($width="",$height="",$por_w="",$por_h=""){
      if($this->_x==0||$this->_y==0) return FALSE;
      else {
         $x=($this->_x-$por_w)/2;
         $y=($this->_y-$por_h)/2;
         $newimg=imagecreatetruecolor($width,$height);
         $ok=imagecopyresampled($newimg,$this->_img,0,0,$x,$y,$width,$height,$por_w,$por_h); //imagecopyresampled GD2
         $this->_x=$width;
         $this->_y=$height;
         if($ok==FALSE) return FALSE;
         else {
            $this->_img=$newimg;
            return TRUE;
         }
      }
   }
   
   //dichiarazione funzione "resize strech"
   function resize_strech($width="",$height=""){
      if($this->_x==0||$this->_y==0) return FALSE;
      else {
         $this->_width=$width;
         $this->_height=$height;
         $newimg=imagecreatetruecolor($this->_width,$this->_height);
         $ok=imagecopyresampled($newimg,$this->_img,0,0,0,0,$this->_width,$this->_height,$this->_x,$this->_y);
         $this->_x=$this->_width;
         $this->_y=$this->_height;
         if($ok==FALSE) return FALSE;
         else {
            $this->_img=$newimg;
            return TRUE;
         }
      }
   }
   
   //dichiarazione funzione "save"
   function save($nome){
      if($this->_x==0||$this->_y==0) return FALSE;
      else {
         $func="image".$this->_type;
         $ok=call_user_func($func,$this->_img,$nome);
         if($ok!=FALSE) return FALSE;
         else {
            return TRUE;
         }
      }
   }
      
   //dichiarazione funzione "display"
   function display(){
      if($this->_x==0||$this->_y==0) return FALSE;
      else {
         header("Content-Type: image/".$this->_type.""); 
         $func="image".$this->_type;
         $ok=call_user_func($func,$this->_img);
         if($ok==FALSE) return FALSE;
         else {
            return TRUE;
         }
      }
   }
}

Grazie in anticipo a chi sapesse illuminarmi  ::)

inviato 9 anni fa
Creepy-Eyes
X 0 X

Normalmente quell'errore si riceve quando si cerca di includere 2 volte lo stesso file contenente la definizione di una classe o di una funzione.

Prova a sostituire include con include_once

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda