Just to clarify about using move_uploaded_file()

I call the storeBigImage methid from aother method like so

function addProduct(){

$this->storeBigImage($ID, $_FILES["image"]);

}

that doesn't work, if I use this:

function addProduct(){

// Move the uploaded file to the correct location
move_uploaded_file($$_FILES["image"]["tmp_name"], BASE_DIR."/_img/_products/".$iProductId."_".$fileName);
}


The above works fine, which I find very strange indeed!

Thanks,

Jon


jon bennett | [EMAIL PROTECTED] new media designer / developer _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

J b e n . n e t

91 Gloucester Rd,  Trowbridge,  Wilts,  BA14 0AD
t: +44 (0) 1225 341039 w: http://www.jben.net/


On 1 Dec 2003, at 12:50, Jon Bennett wrote:


Hi,

I have a file upload problem, but I don't think it's a permission thing (if only, that would be simple!).

I have written a resizing method for a class I'm working on, and it always fails on the imageJpeg() at the end of the method. This is the error I get...

imagejpeg(): Unable to open '/Library/WebServer/Documents/my_site/_lib/_products/2_big_me.jpg' for writing in /Library/WebServer/Documents/my_site/_lib/_classes/class.products.php on line 132

Now, here's the strange bit, if I call my method and just use move_uploaded_file() then the image is saved correctly, so  I know it's not the permissions, could someone have a little look  at my method and let me know if there's anything wrong with it please


// $ID is an integer used for naming purposes
// $aImage is an array, it's basically a copy of $_FILES["image"]
// BASE_DIR is a constant var and holds, yep you guessed it, the base dir of the site!
// IMGMAXHEIGHT & IMGMAXWIDTH are also constants used for resizing purposes


function storeBigImage($ID, $aImage){

        // create filenames
        fopen($aImage['name'], 'r');
        $aNewImage['real_name'] = $aImage['name'];
        $aNewImage['new_name'] = $ID . '_' . 'big' . '_' . $aNewImage['real_name'];
        $aNewImage['image_loc'] = BASE_DIR . '_lib/_products/' .  $aNewImage['new_name'];
         
        // copy original image
        $aNewImage['original_image'] = ImageCreateFromJpeg($aImage['tmp_name']);
        $aNewImage['sizes'] = getimagesize($aImage['tmp_name']);
        $aNewImage['width'] = $aNewImage['sizes'][0];
        $aNewImage['height'] = $aNewImage['sizes'][0];
        
        if($aNewImage['width'] >= IMGMAXWIDTH || $aNewImage['height'] >= IMGMAXHEIGHT){
            
            // calculate ratios
            $iRatio_w = IMGMAXWIDTH / $aNewImage['width'];
            $iRatio_h = IMGMAXHEIGHT / $aNewImage['height'];
            $iRatio = $iRatio_w < $iRatio_h ? $iRatio_w:$iRatio_h;
            
            // calculate new dimensions
            $aNewImage['new_width'] = $aNewImage['width'] * $iRatio;
            $aNewImage['new_height'] = $aNewImage['height'] * $iRatio;
            
            // save resized image
            $aNewImage['new_image'] = ImageCreateTrueColor($aNewImage['new_width'], $aNewImage['new_height']);
            ImageCopyResized($aNewImage['new_image'], ImageCreateFromJpeg($aImage['tmp_name']), 0, 0, 0, 0, $aNewImage['new_width'], $aNewImage['new_height'], $aNewImage['width'], $aNewImage['height']);
            //ImageJpeg($aNewImage['new_image'], $aNewImage['image_loc']);
            ImageJpeg($aNewImage['original_image'], $aNewImage['image_loc']);
        
        } else {
        
            // save original image
            //ImageJpeg($aImage['tmp_name'], $aNewImage['image_loc']);
            ImageJpeg($aNewImage['original_image'], $aNewImage['image_loc']);
            //ImageJpeg($this->aArgs['Image']['tmp_name'], $aNewImage['image_loc']);
        }
    }



I have ftp'd into my local server and the folder in question is set at 777, and like I said it works fine if I don't use this class


Any ideas ??

Thanks,

Jon


jon bennett | [EMAIL PROTECTED] new media designer / developer _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

J b e n . n e t

91 Gloucester Rd,  Trowbridge,  Wilts,  BA14 0AD
t: +44 (0) 1225 341039 w: http://www.jben.net/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to