latheesan
09-20-2009, 03:10 AM
Hello,
I use the following function to generate error images:
function generateErrorImage($msg)
{
// Set Error Message
$error_msg = (isset($msg) ? $msg : 'Unknown');
// Set Image Properties
$im_font_size = 2;
$im_padding = 5;
$im_width = (imagefontwidth($im_font_size) * strlen($error_msg) + ($im_padding * 2));
$im_height = (imagefontheight($im_font_size) + ($im_padding * 2));
// Generate Image Object
$im = imagecreatetruecolor($im_width, $im_height);
$bgc = imagecolorallocate($im, 255, 236, 236);
$tc = imagecolorallocate($im, 204, 0, 0);
imagefilledrectangle($im, 0, 0, $im_width, $im_height, $bgc);
imagestring($im, $im_font_size, $im_padding, $im_padding, $error_msg, $tc);
// Add Border To Image
$bc = imagecolorallocate($im, 204, 0, 0);
$x = 0;
$y = 0;
$w = imagesx($im) - 1;
$h = imagesy($im) - 1;
imageline($im, $x,$y,$x,$y+$h,$bc);
imageline($im, $x,$y,$x+$w,$y,$bc);
imageline($im, $x+$w,$y,$x+$w,$y+$h,$bc);
imageline($im, $x,$y+$h,$x+$w,$y+$h,$bc);
// Output Error Image To Browser
header("Content-Type: image/png");
header('Last-Modified: '. gmdate('D, d M Y H:i:s', strtotime("7 days ago")) .' GMT');
ob_start();
imagepng($im);
$image_data = ob_get_contents();
$image_data_length = ob_get_length();
ob_end_clean();
header('Content-Length: '. $image_data_length);
echo $image_data;
imagedestroy($im);
exit();
}
This works fine when i run it on my local web server (XAMPP). But, when i upload the script to the live server, i get the following errors instead:
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>38</b><br />
<br />
<b>Warning</b>: imagecolorallocate(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>38</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>39</b><br />
<br />
<b>Warning</b>: imagecolorallocate(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>39</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>40</b><br />
<br />
<b>Warning</b>: imagefilledrectangle(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>40</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>41</b><br />
<br />
<b>Warning</b>: imagestring(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>41</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>44</b><br />
<br />
<b>Warning</b>: imagecolorallocate(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>44</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>47</b><br />
<br />
<b>Warning</b>: imagesx(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>47</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>48</b><br />
<br />
<b>Warning</b>: imagesy(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>48</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>49</b><br />
<br />
<b>Warning</b>: imageline(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>49</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>50</b><br />
<br />
<b>Warning</b>: imageline(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>50</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>51</b><br />
<br />
<b>Warning</b>: imageline(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>51</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>52</b><br />
<br />
<b>Warning</b>: imageline(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>52</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>58</b><br />
<br />
<b>Warning</b>: imagepng(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>58</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>64</b><br />
<br />
<b>Warning</b>: imagedestroy(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>64</b><br />
This behaviour was only found in Internet Explorer 8 (don't know about older version of the IE).
On firefox, it says the following:
The image “http://domain.com/image.php?ID=1bH58Yy42PHR2eiBvenJhcX93e2g2e2tuOWpvfSctOyorOjomIC4kNiA7elYlNDszITM9PjZydGQ_3-&W=100&H=100” cannot be displayed, because it contains errors.
What am i doing wrong here?
I use the following function to generate error images:
function generateErrorImage($msg)
{
// Set Error Message
$error_msg = (isset($msg) ? $msg : 'Unknown');
// Set Image Properties
$im_font_size = 2;
$im_padding = 5;
$im_width = (imagefontwidth($im_font_size) * strlen($error_msg) + ($im_padding * 2));
$im_height = (imagefontheight($im_font_size) + ($im_padding * 2));
// Generate Image Object
$im = imagecreatetruecolor($im_width, $im_height);
$bgc = imagecolorallocate($im, 255, 236, 236);
$tc = imagecolorallocate($im, 204, 0, 0);
imagefilledrectangle($im, 0, 0, $im_width, $im_height, $bgc);
imagestring($im, $im_font_size, $im_padding, $im_padding, $error_msg, $tc);
// Add Border To Image
$bc = imagecolorallocate($im, 204, 0, 0);
$x = 0;
$y = 0;
$w = imagesx($im) - 1;
$h = imagesy($im) - 1;
imageline($im, $x,$y,$x,$y+$h,$bc);
imageline($im, $x,$y,$x+$w,$y,$bc);
imageline($im, $x+$w,$y,$x+$w,$y+$h,$bc);
imageline($im, $x,$y+$h,$x+$w,$y+$h,$bc);
// Output Error Image To Browser
header("Content-Type: image/png");
header('Last-Modified: '. gmdate('D, d M Y H:i:s', strtotime("7 days ago")) .' GMT');
ob_start();
imagepng($im);
$image_data = ob_get_contents();
$image_data_length = ob_get_length();
ob_end_clean();
header('Content-Length: '. $image_data_length);
echo $image_data;
imagedestroy($im);
exit();
}
This works fine when i run it on my local web server (XAMPP). But, when i upload the script to the live server, i get the following errors instead:
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>38</b><br />
<br />
<b>Warning</b>: imagecolorallocate(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>38</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>39</b><br />
<br />
<b>Warning</b>: imagecolorallocate(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>39</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>40</b><br />
<br />
<b>Warning</b>: imagefilledrectangle(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>40</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>41</b><br />
<br />
<b>Warning</b>: imagestring(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>41</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>44</b><br />
<br />
<b>Warning</b>: imagecolorallocate(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>44</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>47</b><br />
<br />
<b>Warning</b>: imagesx(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>47</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>48</b><br />
<br />
<b>Warning</b>: imagesy(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>48</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>49</b><br />
<br />
<b>Warning</b>: imageline(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>49</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>50</b><br />
<br />
<b>Warning</b>: imageline(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>50</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>51</b><br />
<br />
<b>Warning</b>: imageline(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>51</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>52</b><br />
<br />
<b>Warning</b>: imageline(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>52</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>58</b><br />
<br />
<b>Warning</b>: imagepng(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>58</b><br />
<br />
<b>Notice</b>: Undefined variable: im in <b>/home/username/domain.com/image.php</b> on line <b>64</b><br />
<br />
<b>Warning</b>: imagedestroy(): supplied argument is not a valid Image resource in <b>/home/username/domain.com/image.php</b> on line <b>64</b><br />
This behaviour was only found in Internet Explorer 8 (don't know about older version of the IE).
On firefox, it says the following:
The image “http://domain.com/image.php?ID=1bH58Yy42PHR2eiBvenJhcX93e2g2e2tuOWpvfSctOyorOjomIC4kNiA7elYlNDszITM9PjZydGQ_3-&W=100&H=100” cannot be displayed, because it contains errors.
What am i doing wrong here?
