$uniqueFilename = md5(time() . $_SERVER['REMOTE_ADDR']); /* Build the artwork and thumb filenames and folder names. */ $artworkFilename = "pic-{$uniqueFilename}.jpg"; $thumbFilename = "thumb-{$artworkFilename}"; $artworkFilePath = ROOT_ARTWORK_PATH . $artworkFilename; $thumbnailFilePath = ROOT_THUMBNAIL_PATH . $thumbFilename; /* Move the uploaded temporary file to the artwork folder. */ move_uploaded_file($tempFilename, $artworkFilePath); /* Instantiate a blank thumbnail and load the artwork image. */ $thumbnail = new Thumbnail(THUMBNAIL_WIDTH, THUMBNAIL_HEIGHT); $thumbnail->loadFile($artworkFilePath); /* These properties of the thumbnail are based on the dimentions of the uploaded artwork image. */ $thumbOrientation = $thumbnail->getThumbOrientation(); $thumbOffsetMax = $thumbnail->getThumbOffsetMax(); /* Generate the thumbnail image. */ $thumbnail->buildThumb($thumbnailFilePath); /* Get the values submitted by the form. */ $values = $frmAdd->exportValues(); try { /* Save the properties of the new artwork to the database. */ $sql = "\n INSERT INTO gallery_images\n (title, filename, thumb_orientation, thumb_offset_max, gallery_id)\n VALUES\n (:title, :filename, :thumb_orientation, :thumb_offset_max, :gallery_id)\n "; $stmt = $pdo->prepare($sql); $stmt->bindParam(':title', $values['txtTitle']); $stmt->bindParam(':filename', $artworkFilename); $stmt->bindParam(':thumb_orientation', $thumbOrientation); $stmt->bindParam(':thumb_offset_max', $thumbOffsetMax); $stmt->bindParam(':gallery_id', $values['selGallery']); $stmt->execute(); } catch (PDOException $e) { $error = "Oops! Failed to add image to the database."; error_log("{$error} : {$e->getMessage()}");