I'm having problems with my file upload code.  If I start to upload 
files larger than a approx 400k the page seems to time out and I get a 
page cannot be displayed error.
I have checked the php.ini on the server and max file size is 2Mb and 
max Post size is 8Mb.

I initially thought that the script was timing out and breaking off mid 
upload so I added the set time limit command which changed absolutely 
nothing.  I also tried to get the script to show all errors but I don't 
get anything output at all.  When I choose the file and click upload I 
either get a blank white screen with no error messages or a 404 page.

The code works fine with images under approx 300k and the page is 
calling itself so its not a case of me trying to send the information to 
a page that doesn't exist.

I have spent an age searching through google and the manual but I can't 
find anything that relates to this particular problem

If anybody has any ideas I would be most grateful, I have included my 
upload code below (hopefully the formatting wont be lost on upload but I 
bet it is)

Mark

error_reporting(E_ALL);
set_time_limit(0);
$successful_creation=FALSE;
//Check if user is adding a screenshot
if (isset($_POST['add']))
{       
        else if (!empty($_FILES['browselocal']))
        {
                $choose_source = "browselocal";
                //Check that the user is uploading a JPEG
                $image_properties = 
@GetImageSize($_FILES[$choose_source]['tmp_name']);
                if ($image_properties[2] == 2)
                {
                        //Upload the file to remote server
                        $upload_file = $UPLOAD_DIRECTORY . 
$_FILES[$choose_source]['name'];
                        //If a file with this name already exists modify the name of 
the file 
so that you don't overwrite anything.
                        while (file_exists($upload_file))
                        {
                                $add_random_number = rand(0, 9);
                                $_FILES['Browse']['name'] = 
$add_random_number.$_FILES[$choose_source]['name'];
                                $upload_file = $UPLOAD_DIRECTORY . 
$_FILES[$choose_source]['name'];
                        }
                        $upload_remote_location = 
"http://".$_SERVER['HTTP_HOST'].$UPLOAD_REMOTE.$_FILES[$choose_source]['name'];
                        $thumbnail_file = $UPLOAD_DIRECTORY ."thumb". 
$_FILES[$choose_source]['name'];
                        $thumbnail_remote_location = 
"http://".$_SERVER['HTTP_HOST'].$UPLOAD_REMOTE."thumb".$_FILES[$choose_source]['name'];
                        //Copy the file to specified directory on the remote server
                        copy($_FILES[$choose_source]['tmp_name'], $upload_file);
                        //Create a new image that will be turned into a thumbnail
                        $working_image = 
ImageCreateFromJPEG($_FILES[$choose_source]['tmp_name']);
                        $current_x = ImageSX($working_image);
                        $current_y = ImageSY($working_image);
                        if ($current_x > $current_y)
                        {
                                //Set the width of the image and work out what the 
height will be 
making sure the image keeps its current scale
                                $new_x=124;
                                $scale_x = $new_x/($current_x-1);
                        $new_y = $current_y*$scale_x;
                        }
                        else
                        {
                                //Set the height of the image and work out what the 
width will be 
making sure the image keeps its current scale
                                $new_y=93;
                                $scale_y = $new_y/($current_y-1);
                        $new_x = $current_x*$scale_y;
                        }
                        //Create the thumbnail
                        $thumbnail_image = imagecreatetruecolor($new_x,$new_y);
                        ImageCopyResampled($thumbnail_image, $working_image, 0, 0, 0, 
0, 
$new_x, $new_y, $current_x, $current_y);
                        //Save the thumbnail to remote server
                        imagejpeg($thumbnail_image,$thumbnail_file,100);
                        //Destroy the images in memory that were used to create the 
thumbnail
                        imagedestroy($working_image);
                    imagedestroy($thumbnail_image);
                        //Report back that image creation has been successful
                        $successful_creation=TRUE;
                        //Add the screenshot data to the screenshot table
                        if (!mysql_db_query($DB, "Insert into 
".$SCREENSHOT_TABLE."(thumbnail, pictureurl, picturename, alttext, 
page_id, screen_id, thumblocal, piclocal) 
Values('$thumbnail_remote_location','$upload_remote_location','$name','$alt','$pageid','$screenid','$thumbnail_file','$upload_file')"))
 
                        {
                                DisplayErrMsg(sprintf("Error adding screenshot")) ;
                                DisplayErrMsg(sprintf("error:%d %s", 
mysql_errno($link), 
mysql_error($link))) ;
                                exit() ;
                        }
                }
                //If user has not uploaded a JPEG display an error message
                else {Die("Invalid File Type!!!  You can only upload JPG's.")) ;}      
 
        }
}

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

Reply via email to