addalbum.php
Expand|Select|Wrap|Line Numbers
- require_once '../library/config.php';
- require_once '../library/functions.php';
- if(isset($_POST['txtName']))
- {
- $albumName = $_POST['txtName'];
- $albumDesc = $_POST['mtxDesc'];
- $imgName = $_FILES['fleImage']['name'];
- $tmpName = $_FILES['fleImage']['tmp_name'];
- // we need to rename the image name just to avoid
- // duplicate file names
- // first get the file extension
- $ext = strrchr($imgName, ".");
- // then create a new random name
- $newName = md5(rand() * time()) . $ext;
- // the album image will be saved here
- $imgPath = ALBUM_IMG_DIR . $newName;
- // resize all album image
- $result = createThumbnail($tmpName, $imgPath, THUMBNAIL_WIDTH);
- if (!$result) {
- echo "Error uploading file";
- exit;
- }
- if (!get_magic_quotes_gpc()) {
- $albumName = addslashes($albumName);
- $albumDesc = addslashes($albumDesc);
- }
- $query = "INSERT INTO tbl_album (al_name, al_description, al_image, al_date)
- VALUES ('$albumName', '$albumDesc', '$newName', NOW())";
- mysql_query($query)
- or die('Error, add album failed : ' . mysql_error());
- // the album is saved, go to the album list
- echo "<script>window.location.href='index.php?page=list-album';</script>";
- exit;
- }
- <!-- google_ad_section_end -->
- <FORM enctype="multipart/form-data" action="addalbum.php" method="post">
- <P>
- <LABEL for="firstname">al_name: </LABEL>
- <INPUT type="text" name="form" id="albumName"><BR>
- <LABEL for="lastname">al_description: </LABEL>
- <INPUT type="text" name="form" id="albumDesc"><BR>
- <LABEL for="email">al_date: </LABEL>
- <INPUT type="text" id="NOW"><BR>
- <input type="file" name="newName" class="input">
- <p><input type="submit" name="submit" value="Upload" class="submit"></p>
- </P>
- </FORM>
funtions.php
Expand|Select|Wrap|Line Numbers
- <?php
- /*
- Upload an image and create the thumbnail. The thumbnail is stored
- under the thumbnail sub-directory of $uploadDir.
- Return the uploaded image name and the thumbnail also.
- */
- function uploadImage($inputName, $uploadDir)
- {
- $image = $_FILES[$inputName];
- $imagePath = '';
- $thumbnailPath = '';
- // if a file is given
- if (trim($image['tmp_name']) != '') {
- $ext = substr(strrchr($image['name'], "."), 1);
- // generate a random new file name to avoid name conflict
- // then save the image under the new file name
- $imagePath = md5(rand() * time()) . ".$ext";
- $result = move_uploaded_file($image['tmp_name'], $uploadDir . $imagePath);
- if ($result) {
- // create thumbnail
- $thumbnailPath = md5(rand() * time()) . ".$ext";
- $result = createThumbnail($uploadDir . $imagePath, $uploadDir . 'thumbnail/' . $thumbnailPath, THUMBNAIL_WIDTH);
- // create thumbnail failed, delete the image
- if (!$result) {
- unlink($uploadDir . $imagePath);
- $imagePath = $thumbnailPath = '';
- } else {
- $thumbnailPath = $result;
- }
- } else {
- // the image cannot be uploaded
- $imagePath = $thumbnailPath = '';
- }
- }
- return array('image' => $imagePath, 'thumbnail' => $thumbnailPath);
- }
- /*
- Create a thumbnail of $srcFile and save it to $destFile.
- The thumbnail will be $width pixels.
- */
- function createThumbnail($srcFile, $destFile, $width, $quality = 75)
- {
- $thumbnail = '';
- if (file_exists($srcFile) && isset($destFile))
- {
- $size = getimagesize($srcFile);
- $w = number_format($width, 0, ',', '');
- $h = number_format(($size[1] / $size[0]) * $width, 0, ',', '');
- $thumbnail = copyImage($srcFile, $destFile, $w, $h, $quality);
- }
- // return the thumbnail file name on sucess or blank on fail
- return basename($thumbnail);
- }
- /*
- Copy an image to a destination file. The destination
- image size will be $w X $h pixels
- */
- function copyImage($srcFile, $destFile, $w, $h, $quality = 75)
- {
- $tmpSrc = pathinfo(strtolower($srcFile));
- $tmpDest = pathinfo(strtolower($destFile));
- $size = getimagesize($srcFile);
- if ($tmpDest['extension'] == "gif" || $tmpDest['extension'] == "jpg")
- {
- $destFile = substr_replace($destFile, 'jpg', -3);
- $dest = imagecreatetruecolor($w, $h);
- //imageantialias($dest, TRUE);
- } elseif ($tmpDest['extension'] == "png") {
- $dest = imagecreatetruecolor($w, $h);
- //imageantialias($dest, TRUE);
- } else {
- return false;
- }
- switch($size[2])
- {
- case 1: //GIF
- $src = imagecreatefromgif($srcFile);
- break;
- case 2: //JPEG
- $src = imagecreatefromjpeg($srcFile);
- break;
- case 3: //PNG
- $src = imagecreatefrompng($srcFile);
- break;
- default:
- return false;
- break;
- }
- imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
- switch($size[2])
- {
- case 1:
- case 2:
- imagejpeg($dest,$destFile, $quality);
- break;
- case 3:
- imagepng($dest,$destFile);
- }
- return $destFile;
- }
- /*
- Check if the user is logged in or not
- */
- function checkLogin()
- {
- if (!isset($_SESSION['isLogin']) || $_SESSION['isLogin'] == false) {
- header('Location: login.php');
- exit;
- }
- }
- /*
- Create the link for moving from one page to another
- */
- function getPagingLink($totalResults, $pageNumber, $itemPerPage = 10, $strGet = '')
- {
- $pagingLink = '';
- $totalPages = ceil($totalResults / $itemPerPage);
- // how many link pages to show
- $numLinks = 10;
- // create the paging links only if we have more than one page of results
- if ($totalPages > 1) {
- $self = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ;
- // print 'previous' link only if we're not
- // on page one
- if ($pageNumber > 1) {
- $page = $pageNumber - 1;
- if ($page > 1) {
- $prev = " <a href=\"$self?pageNum=$page&$strGet\">[Prev]</a> ";
- } else {
- $prev = " <a href=\"$self?$strGet\">[Prev]</a> ";
- }
- $first = " <a href=\"$self?$strGet\">[First]</a> ";
- } else {
- $prev = ''; // we're on page one, don't show 'previous' link
- $first = ''; // nor 'first page' link
- }
- // print 'next' link only if we're not
- // on the last page
- if ($pageNumber < $totalPages) {
- $page = $pageNumber + 1;
- $next = " <a href=\"$self?pageNum=$page&$strGet\">[Next]</a> ";
- $last = " <a href=\"$self?pageNum=$totalPages&$strGet\">[Last]</a> ";
- } else {
- $next = ''; // we're on the last page, don't show 'next' link
- $last = ''; // nor 'last page' link
- }
- $start = $pageNumber - ($pageNumber % $numLinks) + 1;
- $end = $start + $numLinks - 1;
- $end = min($totalPages, $end);
- $pagingLink = array();
- for($page = $start; $page <= $end; $page++) {
- if ($page == $pageNumber) {
- $pagingLink[] = " $page "; // no need to create a link to current page
- } else {
- if ($page == 1) {
- $pagingLink[] = " <a href=\"$self?$strGet\">$page</a> ";
- } else {
- $pagingLink[] = " <a href=\"$self?pageNum=$page&$strGet\">$page</a> ";
- }
- }
- }
- $pagingLink = implode(' | ', $pagingLink);
- // return the page navigation link
- $pagingLink = $first . $prev . $pagingLink . $next . $last;
- }
- return $pagingLink;
- }
- /*
- Display the breadcrumb navigation on top of the gallery page
- */
- function showBreadcrumb()
- {
- if (isset($_GET['album'])) {
- $album = $_GET['album'];
- $sql = "SELECT al_name
- FROM tbl_album
- WHERE al_id = $album";
- $result = mysql_query($sql) or die('Error, get album name failed. ' . mysql_error());
- $row = mysql_fetch_assoc($result);
- echo ' > <a href="index.php?page=list-image&album=' . $album . '">' . $row['al_name'] . '</a>';
- if (isset($_GET['image'])) {
- $image = $_GET['image'];
- $sql = "SELECT im_title
- FROM tbl_image
- WHERE im_id = $image";
- $result = mysql_query($sql) or die('Error, get image name failed. ' . mysql_error());
- $row = mysql_fetch_assoc($result);
- echo ' > <a href="index.php?page=image-detail&album=' . $album . '&image=' . $image . '">' . $row['im_title'] . '</a>';
- }
- }
- }
- ?>
Expand|Select|Wrap|Line Numbers
- <?php
- session_start();
- // db properties
- $dbhost = 'localhost';
- $dbuser = 'root';
- $dbpass = '';
- $dbname = 'rock';
- // an album can have an image used as thumbnail
- // we save the album image here
- define('ALBUM_IMG_DIR', 'C:/webroot/image');
- // all images inside an album are stored here
- define('GALLERY_IMG_DIR', 'C:/webroot/gallery/images/gallery/');
- // When we upload an image the thumbnail is created on the fly
- // here we set the thumbnail width in pixel. The height will
- // be adjusted proportionally
- define('THUMBNAIL_WIDTH', 100);
- // make a connection to mysql here
- $conn = mysql_connect ($dbhost, $dbuser, $dbpass) or die ("I cannot connect to the database because: " . mysql_error());
- mysql_select_db ($dbname) or die ("I cannot select the database '$dbname' because: " . mysql_error());
- ?>