Page 1 of 1

getimagesize() - No such file or directory

Posted: Tue Apr 08, 2008 4:03 pm
by neridaj
~pickle | Please use [ code=html ], [ code=php ], etc tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: :arrow: Posting Code in the Forums to learn how to do it too.


I don't understand why I keep getting this no file or directory error when this function is run. function should loop through an array of images and output the width and height but for some reason all I get is warnings about the directory or file being non existent - which from the error output clearly shows the files being scanned by getimagesize().

Here is the error output: "Warning: getimagesize(01.jpg) [function.getimagesize]: failed to open stream: No such file or directory"

Code:

Code: Select all

function get_imgdir()
{
    $propadd = $_GET['pa'];
    $userfolder = $_SESSION['valid_user'];
    $imgdir = 'members/' . $userfolder . '/' . $propadd . '/';
    return $imgdir;
}
 
function get_imgdim()
{
    $dir = get_imgdir();
    $files = scandir($dir);
    foreach($files as $value) {
        // check for image files
        if(valid_image_file($value)) {
            // build image array
            $imgarr[] = $value;
            $count = count($files);
            for($i = 0; $i < $count; $i++) {
                 list($width, $height) = getimagesize($imgarr[$i]);
                 $dimarr[$imgarr[$i]] = array("width" => $width, "height" => $height);
            }
            print_r($dimarr);
        }
    }
}

Is there a better way to go about getting the dimensions of the image?

Thanks,

Jason


~pickle | Please use [ code=html ], [ code=php ], etc tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: :arrow: Posting Code in the Forums to learn how to do it too.

Re: getimagesize() - No such file or directory

Posted: Tue Apr 08, 2008 4:24 pm
by pickle
You're calling getimagesize() on '01.jpg' - does '01.jpg' exist in the same directory as the script? You're doing a list up of a directory, then passing the filenames along - you need to pass along the full path of the image, not just the name.

Re: getimagesize() - No such file or directory

Posted: Tue Apr 08, 2008 4:53 pm
by neridaj
The directory is retrieved by the get_imgdir function which is where "01.jpg" comes from. The further iterations of get_imgdim reveal all 32.jpg's, which I discarded from the warning output I posted for the sake of brevity.

Re: getimagesize() - No such file or directory

Posted: Tue Apr 08, 2008 5:09 pm
by pickle
As the error says, getimagesize() is only getting "01.jpg" passed as an argument. get_imgdir() may be getting the directory, but you need to pass that along to getimagesize() so it knows where in the filesystem to look.

Re: getimagesize() - No such file or directory

Posted: Tue Apr 08, 2008 5:18 pm
by neridaj
problem was fixed after concatenating $dir with the arg to getimagesize().

Thanks,

Jason