the addalbum.php is unable to upload the image any idea what i'm doing wrong please

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • lisa007
    New Member
    • Apr 2010
    • 29

    the addalbum.php is unable to upload the image any idea what i'm doing wrong please

    Hi i have this form which meant to upload the create an album but some how doesnt not work can some1 help please i use 3 files here they are addalbum.php is where is not working the other files are just the database config and functions.php the error messages from the addalbum.php functions


    addalbum.php
    Code:
     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
    Code:
    <?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>';
    
    }
    
    }
    
    }
    
    ?>
    config.php

    Code:
    <?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());
    
    ?>
  • TheServant
    Recognized Expert Top Contributor
    • Feb 2008
    • 1168

    #2
    As much as I love reading through code, could you please define the problem clearer. Any error message/output, and/or what is is doing that it shouldn't, or not doing that it should.

    Comment

    • lisa007
      New Member
      • Apr 2010
      • 29

      #3
      Hi the code meant to upload the details to mYSQL and add image to image folder but it just says error uploading file

      Comment

      • TheServant
        Recognized Expert Top Contributor
        • Feb 2008
        • 1168

        #4
        So the code that's failing is:
        Code:
        // resize all album image
        $result = createThumbnail($tmpName, $imgPath, THUMBNAIL_WIDTH); 
           if (!$result) {
              echo "Error uploading file";
              exit;
           }
        2 things to check:
        Make sure your GD Library is installed/enabled so the function createThumbnail () works.
        Also, echo each of your inputs ($tmpName, $imgPath, THUMBNAIL_WIDTH ) so you know that they have all been set. Look for errors like missing "/" in your path.

        See how you go with that first.

        Comment

        • johny10151981
          Top Contributor
          • Jan 2010
          • 1059

          #5
          make sure your form is declared properly.

          Comment

          Working...