Wedgewood85 Posted February 1, 2012 Share Posted February 1, 2012 Hi all, Yesterday I transferred my hosting to a new provider. Everything is up and running apart from the following message I get on my index page Warning: readfile() [function.readfile]: Filename cannot be empty in /home/XXXX/public_html/imgsize.php on line 64 . This error is only on the index page. When I look at line 64 it states the following: readfile ($img); I have tried replacing the imgsize.php file but that still does not work. And on my old hosting this error does not occur. If you could please help, I would appericate it. Cheers Steve Quote Link to comment Share on other sites More sharing options...
scootstah Posted February 1, 2012 Share Posted February 1, 2012 So then obviously $img is empty. Quote Link to comment Share on other sites More sharing options...
AyKay47 Posted February 1, 2012 Share Posted February 1, 2012 the given error is telling you everything that you need to know in order to debug this. figure out why $img would be empty, something in your code has obviously changed. I have tried replacing the imgsize.php file what exactly does this mean? Quote Link to comment Share on other sites More sharing options...
Wedgewood85 Posted February 1, 2012 Author Share Posted February 1, 2012 Hi Scootstah, Thanks mate, I a little new to this. Is the $img one particular files that I need to replace? Quote Link to comment Share on other sites More sharing options...
AyKay47 Posted February 1, 2012 Share Posted February 1, 2012 without seeing the relevant code, debugging this will be impossible for us. If you cannot figure this out on your own (I encourage you try) then post the relevant code and we will help. Quote Link to comment Share on other sites More sharing options...
Wedgewood85 Posted February 1, 2012 Author Share Posted February 1, 2012 the given error is telling you everything that you need to know in order to debug this. figure out why $img would be empty, something in your code has obviously changed. I have tried replacing the imgsize.php file what exactly does this mean? Thanks for help. A number of times I have replaced the imgsize.php with the one from my working host. But still get this message. So should I be looking somewhere else to out work why the $img is empty? Quote Link to comment Share on other sites More sharing options...
Andy-H Posted February 1, 2012 Share Posted February 1, 2012 Yes, look where the $img variable is set. Open 'imgsize.php' Ctrl + f -> "$img = " -> Enter Quote Link to comment Share on other sites More sharing options...
scootstah Posted February 1, 2012 Share Posted February 1, 2012 You should post the code so that we can figure out what $img is, and why it isn't being set. Quote Link to comment Share on other sites More sharing options...
Wedgewood85 Posted February 1, 2012 Author Share Posted February 1, 2012 without seeing the relevant code, debugging this will be impossible for us. If you cannot figure this out on your own (I encourage you try) then post the relevant code and we will help. The code is below: <?php //header ("Content-type: image/jpeg"); /* JPEG / PNG Image Resizer Parameters (passed via URL): img = path / url of jpeg or png image file percent = if this is defined, image is resized by it's value in percent (i.e. 50 to divide by 50 percent) w = image width h = image height constrain = if this is parameter is passed and w and h are set to a size value then the size of the resulting image is constrained by whichever dimension is smaller Requires the PHP GD Extension Outputs the resulting image in JPEG Format Filename : imgsize.php */ $img = $_GET['img']; $percent = $_GET['percent']; $constrain = $_GET['constrain']; $w = $_GET['w']; $h = $_GET['h']; // get image size of img $x = @getimagesize($img); // image width $sw = $x[0]; // image height $sh = $x[1]; if ($percent > 0) { // calculate resized height and width if percent is defined $percent = $percent * 0.01; $w = $sw * $percent; $h = $sh * $percent; } else { if (isset ($w) AND !isset ($h)) { // autocompute height if only width is set $h = (100 / ($sw / $w)) * .01; $h = @round ($sh * $h); } elseif (isset ($h) AND !isset ($w)) { // autocompute width if only height is set $w = (100 / ($sh / $h)) * .01; $w = @round ($sw * $w); } elseif (isset ($h) AND isset ($w) AND isset ($constrain)) { // get the smaller resulting image dimension if both height // and width are set and $constrain is also set $hx = (100 / ($sw / $w)) * .01; $hx = @round ($sh * $hx); $wx = (100 / ($sh / $h)) * .01; $wx = @round ($sw * $wx); if ($hx < $h) { $h = (100 / ($sw / $w)) * .01; $h = @round ($sh * $h); } else { $w = (100 / ($sh / $h)) * .01; $w = @round ($sw * $w); } } } $im = @ImageCreateFromJPEG ($img) or // Read JPEG Image $im = @ImageCreateFromPNG ($img) or // or PNG Image $im = @ImageCreateFromGIF ($img) or // or GIF Image $im = false; // If image is not JPEG, PNG, or GIF if (!$im) { // We get errors from PHP's ImageCreate functions... // So let's echo back the contents of the actual image. readfile ($img); } else { // Create the resized image destination $thumb = @ImageCreateTrueColor ($w, $h); // Copy from image source, resize it, and paste to image destination @ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh); // Output resized image @ImageJPEG ($thumb); } ?> Quote Link to comment Share on other sites More sharing options...
Andy-H Posted February 1, 2012 Share Posted February 1, 2012 does your query string contain ?img=something :/ Quote Link to comment Share on other sites More sharing options...
Wedgewood85 Posted February 1, 2012 Author Share Posted February 1, 2012 does your query string contain ?img=something :/ No $img=... in query string but have different values: e.g. the following $img1=$row1['img1']; $imglt = $row1['img1']; $imgpr = $row1['img1']; What's interesting to note is that on my index pages all images are loaded correctly and I only get this warning on the index page. Quote Link to comment Share on other sites More sharing options...
scootstah Posted February 1, 2012 Share Posted February 1, 2012 As you can see here $img = $_GET['img']; $img comes from a query string. So if you're not accessing the page with ?img=blah in the URL, it's not going to be set. Quote Link to comment Share on other sites More sharing options...
AyKay47 Posted February 2, 2012 Share Posted February 2, 2012 as stated, this error revolves around $_GET['img'] not being set. You should be checking if it is set using isset before proceeding with your code. Quote Link to comment Share on other sites More sharing options...
Wedgewood85 Posted February 2, 2012 Author Share Posted February 2, 2012 As you can see here $img = $_GET['img']; $img comes from a query string. So if you're not accessing the page with ?img=blah in the URL, it's not going to be set. I get it now, it because the $img isn't being set. Thanks heaps. Quote Link to comment Share on other sites More sharing options...
Wedgewood85 Posted February 2, 2012 Author Share Posted February 2, 2012 as stated, this error revolves around $_GET['img'] not being set. You should be checking if it is set using isset before proceeding with your code. I get it now, because it's not set it's therefore empty. I will look into isset Thanks Quote Link to comment 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.