Jump to content

Warning: readfile() [function.readfile]: Help Please


Recommended Posts

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

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?

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?

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);

}

?>

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.

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.

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

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.