hello... I'm writing a PHP script that needs to take an image and trash the quality level until the filesize is 512k or less
I've written the following code:
PHP Code:
$fileContent = imap_base64(imap_fetchbody($mbox,$msgno,'2'));
$newfilename=get_new_filename($suffix, 0);
while(file_exists($newfilename))
{$newfilename=get_new_filename($suffix, 0);}
$newfilenametemp=get_new_filename($suffix, 1);
while(file_exists($newfilenametemp))
{$newfilenametemp=get_new_filename($suffix, 1);}
$fdtemp = fopen($newfilenametemp, 'w');
fwrite($fdtemp, $fileContent);
fclose($fdtemp);
$fd = fopen($newfilename, 'w');
imagejpeg($newfilenametemp, $fd, 75);
fclose($fd);
function get_new_filename($suffix, $temp)
{
srand(time());
$random = (rand()%999999999999999999);
if($temp == "0")
{$newfilename = "/home/scavenger/scavengerxhunt.com/subimgdir/" . $random . "" . $suffix;}
elseif($temp == "1")
{$newfilename = "/home/scavenger/scavengerxhunt.com/subimgdir/" . $random . "temp" . $suffix;}
return $newfilename;
}
however, this code always leads to the following error:
Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/.elysium/scavenger/scavengerxhunt.com/getmail.php on line 105
apparently the image itself on the server isn't a valid resource
any ideas what's going wrong? I've heard of using imagecreatetruecolor() but I have no idea how or why to use it
please assist...