I have working code that uploads and resizes images. What im trying to figure out is how I can direct the browser to another page or view kind of the way facebook does, but still call the resize function in the background. Right now, the code waits to complete the resize before doing anything else. The Call to the upload and resize functions on the upload page :if ($result=$imageHandler->upload($files)) {     //call image resize, call resize     $success= new view($result);     $imageHandler->imgResize($result);}And this is the FileHandler class that uploads and resize the image:    <?php/* > Class fileHandler > Handle existing files and existing folders. */ class ImageHandler {    protected $required;    protected $imagePath;    protected $allowedfiles;    protected $default;    //constructor     public function __construct()    {      require_once 'UploadException.php';      $this->allowedfiles=array( 'image/gif', 'image/jpg', 'image/jpeg', 'image/png' );      $this->required=array('800', '1024','1200','1280','1400','1440','1600','1680','1920','2400','2500','2600','2880');      //use absolute path with defined constant here      $this->default='images/';    }//UPLOAD FUNCTION CALLED FIRST, RETURNS UPLOADED IMAGE LOCATION . Includes Exception Handling     public function upload($files)    {        //Check contents of Files array. Class should not interact directly with $_FILES or $_POST  .        //Check array is not empty and file type is allowed.            if (!empty($files) && in_array($files['type'], $this->allowedfiles) )            {                $temp=$files['tmp_name'];                $destination=$this->default.$files['name'];                //if all good, check file size less than 20MB or something?                //proceed with upload. Include error handling in this if statement                //if file upload unsuccessful, do error handling. else return new file location                      if (move_uploaded_file($temp, $destination)) {                        echo '<hr> file upload worked';                        return $destination;                        //exit('all good'.print_r($files));                      } else{                       //call upload error handler. Get error Msgs.                       //throw new exception and pass it error code returned by upload!                          $error= new UploadException($files['error']);                        $error->getMessage();                      }            } else{               //handle failure with exception handler                $error=new UploadException($files['error']);                echo $error;                exit('<br><br>execution stopped');            }    } //takes image path returned by upload function  public function imgResize($image)  {           $required=$this->required;         $details=getimagesize($image);         $count=count($required);         $imgName=substr($image, strrpos($image,'/')+1 );         $imgType=$details['mime'];         $width=$details[0];         $height=$details[1];         $imgRatio=$details[0]/$details[1];        $GDSrcImg=$this->createImage($image );        for ( $i = 0; $i < $count ; $i++ )         {                       //if the destination folder doesnot exist, create it.             if(!file_exists('images/'.$required[$i]))            {                mkdir( 'images/'.$required[$i], 0764, true );                chmod( 'images/'.$required[$i], 0764 );            } else {                    $userDestImage = 'images/'. $required[$i] . '/' . $imgName;                    $newWidth      = intVal( $required[$i] );                    $newHeight     = intVal( $newWidth / $imgRatio ); //maintain aspect ratio                    $dest = imagecreatetruecolor( $newWidth, $newHeight );                    imagecopyresampled( $dest, $GDSrcImg, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height );                    $finalImg= $this->finalImg($imgType, $dest, $userDestImage );                     }                   }        return $finalImg;  }  public function createImage( $img )   {            $size    = getimagesize( $img );            $typeImg = $size['mime'];            switch ( $typeImg ) {                case 'image/png':                    $newImage = imagecreatefrompng( $img );                    return $newImage;                    break;                case 'image/jpeg':                    $newImage = imagecreatefromjpeg( $img );                    return $newImage;                    break;                case 'image/gif' :                    $newImage = imagecreatefromgif( $img );                    return $newImage;                    break;            }    }    public function finalImg($imgType,$dest,$userDestImage)    {          switch ( $imgType ) {                case 'image/png':                    $final = imagepng( $dest, $userDestImage );                    //return $final;                    break;                case 'image/jpeg':                    $final = imagejpeg( $dest, $userDestImage );                    //return $final;                    break;                case 'image/gif' :                    $final = imagegif( $dest, $userDestImage );                    //return $final;                    break;            }            return $final;    }}
Resize images in the background after upload
php;image