ccrevcypsys Posted August 13, 2007 Share Posted August 13, 2007 Ok so i figured the source part out but im still gettin errors on this Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/streamru/public_html/classes/gd.inc.php on line 273 Warning: imagegif(): supplied argument is not a valid Image resource in /home/streamru/public_html/classes/gd.inc.php on line 308 Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/streamru/public_html/classes/gd.inc.php on line 311 function thumbnail($imgfile="",$width="",$height="") $this->img["src"] = imagecreatefromjpeg($imgfile); 273: $this->img["des"] = imagecreatetruecolor($this->img["width_thumb"],$this->img["height_thumb"]); 308: imagegif($this->img["des"],$save); 311: imagedestroy($this->img["des"]); Quote Link to comment https://forums.phpfreaks.com/topic/64756-still-getting-these-errors/ Share on other sites More sharing options...
lemmin Posted August 13, 2007 Share Posted August 13, 2007 You might want to show the code, inparticular, the line that has the imagecreatetruecolor() function. Quote Link to comment https://forums.phpfreaks.com/topic/64756-still-getting-these-errors/#findComment-322993 Share on other sites More sharing options...
ccrevcypsys Posted August 13, 2007 Author Share Posted August 13, 2007 k i put the code on there Quote Link to comment https://forums.phpfreaks.com/topic/64756-still-getting-these-errors/#findComment-322994 Share on other sites More sharing options...
ccrevcypsys Posted August 13, 2007 Author Share Posted August 13, 2007 Here is all of the code <?php class thumbnail { var $img; function thumbnail($imgfile="",$width="",$height="") { global $config; //detect image format $this->img["format"]=ereg_replace(".*\.(.*)$","\\1",$imgfile); $this->img["format"]=strtoupper($this->img["format"]); if($config['gdversion']>0) { if ($this->img["format"]=="JPG" || $this->img["format"]=="JPEG") { //JPEG $this->img["format"]="JPEG"; $this->img["src"] = imagecreatefromjpeg($imgfile); } elseif($this->img["format"]=="PNG") { //PNG $this->img["format"]="PNG"; $this->img["src"] = imagecreatefrompng($imgfile); } elseif ($this->img["format"]=="GIF") { //GIF $this->img["format"]="GIF"; $this->img["src"] = imagecreatefromgif($imgfile); } else { //DEFAULT echo "Not Supported File!"; exit(); } if($width>0 && $height>0) { $this->img["width"] = $width; $this->img["height"] = $height; } else { @$this->img["width"] = imagesx($this->img["src"]); @$this->img["height"] = imagesy($this->img["src"]); } //default quality jpeg $this->img["quality"] = $config['gdquality']; } else { return FALSE; } } function size_custom($width=100, $height=100) { // custom $this->img["width_thumb"] = $width; $this->img["height_thumb"] = $height; } function size_width($size=100) { // width $this->img["width_thumb"]=$size; @$this->img["height_thumb"] = ($this->img["width_thumb"]/$this->img["width"])*$this->img["height"]; } function size_height($size=100) { // height $this->img["height_thumb"]=$size; @$this->img["width_thumb"] = ($this->img["height_thumb"]/$this->img["height"])*$this->img["width"]; } function size_auto($size=100) { // size automatically if ($this->img["width"]>=$this->img["height"]) { $this->img["width_thumb"]=$size; @$this->img["height_thumb"] = ($this->img["width_thumb"]/$this->img["width"])*$this->img["height"]; } else { $this->img["height_thumb"]=$size; @$this->img["width_thumb"] = ($this->img["height_thumb"]/$this->img["height"])*$this->img["width"]; } } function jpeg_quality($quality=80) { //jpeg quality $this->img["quality"]=$quality; } function randImage($rand) { global $glob; $bgColor = imagecolorallocate ($this->img["src"], 255, 255, 255); $textColor = imagecolorallocate ($this->img["src"], 0, 0, 0); $lineColor = imagecolorallocate ($this->img["src"], 215, 215, 215); // Add Random polygons $noise_x = $this->img["width"] - 5; $noise_y = $this->img["height"] - 2; for ($i=0; $i<3; $i++){ $polyCoords = array( rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y), rand(5,$noise_x), rand(5,$noise_y) ); $randomcolor = imagecolorallocate( $this->img["src"], rand(150,255), rand(150,255),rand(150,255) ); imagefilledpolygon($this->img["src"], $polyCoords, 6, $randomcolor); } // write the random chars $font = imageloadfont($glob['rootDir']."/classes/fonts/anonymous.gdf"); imagestring($this->img["src"], $font, 3, 0, $rand, $textColor); // Add Random noise for ($i = 0; $i < 25; $i++) { $rx1 = rand(0,$this->img["width"]); $rx2 = rand(0,$this->img["width"]); $ry1 = rand(0,$this->img["height"]); $ry2 = rand(0,$this->img["height"]); $rcVal = rand(0,255); $rc1 = imagecolorallocate($this->img["src"],rand(0,255),rand(0,255),rand(100,255)); imageline ($this->img["src"], $rx1, $ry1, $rx2, $ry2, $rc1); } $this->show(1); } function show($skip=0) { global $config; @header("Expires: " . gmdate("D, d M Y H:i:s") . " GMT"); @header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); @header("Cache-Control: no-store, no-cache, must-revalidate"); @header("Cache-Control: post-check=0, pre-check=0", false); @header("Pragma: no-cache"); @header("Content-Type: image/".$this->img["format"]); if($skip==1) { $this->img["des"] = $this->img["src"]; } elseif ($config['gdversion']==2) { $this->img["des"] = imagecreatetruecolor($this->img["width_thumb"],$this->img["height_thumb"]); @imagecopyresampled ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["width_thumb"],$this->img["height_thumb"], $this->img["width"], $this->img["height"]); } elseif ($config['gdversion']==1) { $this->img["des"] = imagecreate($this->img["width_thumb"],$this->img["height_thumb"]); @imagecopyresized ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["width_thumb"],$this->img["height_thumb"], $this->img["width"], $this->img["height"]); } if ($config['gdversion']>0) { // fix for base restriction error /* $fh = fopen($this->img["des"],'w'); fclose($fh); */ if ($this->img["format"]=="JPG" || $this->img["format"]=="JPEG") { //JPEG imagejpeg($this->img["des"],"",$this->img["quality"]); } elseif($this->img["format"]=="PNG") { //PNG imagepng($this->img["des"]); } elseif($this->img["format"]=="GIF") { //GIF imagegif($this->img["des"]); } imagedestroy($this->img["des"]); } } function save($save="") { global $config; if ($config['gdversion']==2) { $this->img["des"] = imagecreatetruecolor($this->img["width_thumb"],$this->img["height_thumb"]); @imagecopyresampled ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["width_thumb"], $this->img["height_thumb"], $this->img["width"], $this->img["height"]); } elseif ($config['gdversion']==1) { $this->img["des"] = imagecreate($this->img["width_thumb"],$this->img["height_thumb"]); @imagecopyresized ($this->img["des"], $this->img["src"], 0, 0, 0, 0, $this->img["width_thumb"], $this->img["height_thumb"], $this->img["width"], $this->img["height"]); } if ($config['gdversion']>0) { // fix for base restriction error /* $fh = fopen($this->img["des"],'w'); fclose($fh); */ if ($this->img["format"]=="JPG" || $this->img["format"]=="JPEG") { //JPEG imagejpeg($this->img["des"],$save,$this->img["quality"]); } elseif ($this->img["format"]=="PNG") { //PNG imagepng($this->img["des"],$save); } elseif ($this->img["format"]=="GIF") { //GIF imagegif($this->img["des"],$save); } imagedestroy($this->img["des"]); @chmod($this->img["des"], 0644); } } } ?> and the code from the .php file if(is_array($_FILES['imageName'])){ $date_str=date('Ymdhis'); $imageFormat = strtoupper(ereg_replace(".*\.(.*)$","\\1",$_FILES['imageName']['name'])); if($imageFormat == "JPG" || $imageFormat == "JPEG" || $imageFormat == "PNG" || ($imageFormat == "GIF" && $config['gdGifSupport']==1)){ copy($_FILES['imageName']['tmp_name'],"images/uploads/".$date_str."_".str_replace('-','_',str_replace(' ','_',$_FILES['imageName']['name']))); $record["image"] = $db->mySQLSafe($date_str."_".$_FILES['imageName']['name']); copy($_FILES['imageName']['tmp_name'],"images/uploads/thumbs/thumb_".$date_str."_".str_replace('-','_',str_replace(' ','_',$_FILES['imageName']['name']))); if(file_exists($GLOBALS['rootDir']."/images/uploads/thumbs/thumb_".$_FILES['imageName']['name'])){ @chmod($GLOBALS['rootDir']."/images/uploads/thumbs/thumb_".$_FILES['imageName']['name'], 0775); unlink($GLOBALS['rootDir']."/images/uploads/thumbs/thumb_".$_FILES['imageName']['name']); } $thumb=new thumbnail("images/uploads/".$date_str."_".$_FILES['imageName']['name']); // see if we need to resize if(($size[0] > $config['gdthumbSize']) OR ($size[1] > $config['gdthumbSize'])){ $thumb->size_auto($config['gdthumbSize']); } else { $thumb->size_auto($size[0]); } $thumb->jpeg_quality($config['gdquality']); $thumb->save("images/uploads/thumbs/thumb_".$date_str.$_FILES['imageName']['name']); } } Quote Link to comment https://forums.phpfreaks.com/topic/64756-still-getting-these-errors/#findComment-322996 Share on other sites More sharing options...
lemmin Posted August 13, 2007 Share Posted August 13, 2007 It looks to me that img["width_thumb"], and the other parameters passed to imagecreatetruecolor(), may not have been initialized. They are only set in a function so you have to make sure those size functions are executed before the save function. Quote Link to comment https://forums.phpfreaks.com/topic/64756-still-getting-these-errors/#findComment-323007 Share on other sites More sharing options...
ccrevcypsys Posted August 13, 2007 Author Share Posted August 13, 2007 It looks to me that img["width_thumb"], and the other parameters passed to imagecreatetruecolor(), may not have been initialized. They are only set in a function so you have to make sure those size functions are executed before the save function. hey man im a n00b with php how would i do that? Quote Link to comment https://forums.phpfreaks.com/topic/64756-still-getting-these-errors/#findComment-323010 Share on other sites More sharing options...
lemmin Posted August 13, 2007 Share Posted August 13, 2007 I'm sorry, I see now that it IS actually initializing it. Is there by any chance a config file that goes along with this? If so, make sure you have all the settings in there correct. Quote Link to comment https://forums.phpfreaks.com/topic/64756-still-getting-these-errors/#findComment-323019 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.