1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

update form with image

Discussion in 'PHP' started by macaela, Sep 18, 2010.

  1. #1
    Hi i wanted to know if is it possible to do something like

    if if (mysql_num_rows($result) == 1) {
    delete photo
    }
    if if (mysql_num_rows($result) == 0 ) {
    insert photo
    }
    for an update form???? cz i am worried is gona keep looping evrytime0
     
    macaela, Sep 18, 2010 IP
  2. BrettOwnz

    BrettOwnz Member

    Messages:
    286
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    28
    #2
    What exactly are you trying to do with the code? And why do you have two if statements without including the closing brackets..

    Let me know so I can help
     
    BrettOwnz, Sep 18, 2010 IP
  3. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #3
    I have 2 scripts one that allows me to insert and upload image and one that allows me to delete and remove image so i was thinking in mix both together so it would be like this
    first the delete image in an if statment then close } and then { an insert image but with an update mysql query}

    i am trying to do a modify form where user can modify the data so i will need to update the image on the directory so with both delete and insert would it do the job???
     
    macaela, Sep 18, 2010 IP
  4. BrettOwnz

    BrettOwnz Member

    Messages:
    286
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    28
    #4
    What is the $result variable's value in this script?
     
    BrettOwnz, Sep 18, 2010 IP
  5. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #5
    ok this is how is looking so far now both scripts worked perfect separate you'll notice in the middle of the script i have in comment ///this where the upload script starts// thats where i paste the upload script ohh and at the end i am still putting the variables on the sent quick so u wouldnt run away :eek:

    <?php
    define('ROOT_DIR', './');
    define('PROPER', TRUE);
    /**
    * include common files
    */
    include_once(ROOT_DIR. 'includes/common.inc.php');
    // No album id has been selected
    if (isset($_GET['drivers'])) 
     {
       // get the image file name so we
       // can delete it from the server
       $sql = "SELECT id, image
    
               FROM driversnew
    
               WHERE id = {$_GET['drivers']}";
    
       $result = mysql_query($sql)
    
                 or die('Delete photo failed. ' . mysql_error());
    
       if (mysql_num_rows($result) == 1) {
    
          $row = mysql_fetch_assoc($result);
          
    define("GALLERY_IMG_DIR", "./images/");
    
          // remove the image and the thumbnail from the server
          unlink(GALLERY_IMG_DIR . $row['image']);
    
          unlink(GALLERY_IMG_DIR . 'thumbs/' . $row['image']);
          
          // and then remove the database entry
          
          
       }
    
    }
     
     /////////// this where the upload script starts/////////// this where the upload script starts//////// this where the upload script starts
    
    
    //define a maxim size for the uploaded images
    define ("MAX_SIZE","100");
    // define the width and height for the thumbnail
    // note that theese dimmensions are considered the maximum dimmension and are not fixed,
    // because we have to keep the image ratio intact or it will be deformed
    define ("WIDTH","150");
    define ("HEIGHT","100");
    
    // this is the function that will create the thumbnail image from the uploaded image
    // the resize will be done considering the width and height defined, but without deforming the image
    function make_thumb($img_name,$filename,$new_w,$new_h)
    {
    //get image extension.
    $ext=getExtension($img_name);
    //creates the new image using the appropriate function from gd library
    if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
    $src_img=imagecreatefromjpeg($img_name);
    
    if(!strcmp("png",$ext))
    $src_img=imagecreatefrompng($img_name);
    
    //gets the dimmensions of the image
    $old_x=imageSX($src_img);
    $old_y=imageSY($src_img);
    
    // next we will calculate the new dimmensions for the thumbnail image
    // the next steps will be taken:
    // 1. calculate the ratio by dividing the old dimmensions with the new ones
    // 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
    // and the height will be calculated so the image ratio will not change
    // 3. otherwise we will use the height ratio for the image
    // as a result, only one of the dimmensions will be from the fixed ones
    $ratio1=$old_x/$new_w;
    $ratio2=$old_y/$new_h;
    if($ratio1>$ratio2) {
    $thumb_w=$new_w;
    $thumb_h=$old_y/$ratio1;
    }
    else {
    $thumb_h=$new_h;
    $thumb_w=$old_x/$ratio2;
    }
    
    // we create a new image with the new dimmensions
    $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
    
    // resize the big image to the new created one
    imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
    
    // output the created image to the file. Now we will have the thumbnail into the file named by $filename
    if(!strcmp("png",$ext))
    imagepng($dst_img,$filename);
    else
    imagejpeg($dst_img,$filename);
    
    //destroys source and destination images.
    imagedestroy($dst_img);
    imagedestroy($src_img);
    }
    
    // This function reads the extension of the file.
    // It is used to determine if the file is an image by checking the extension.
    function getExtension($str) {
    $i = strrpos($str,".");
    if (!$i) { return ""; }
    $l = strlen($str) - $i;
    $ext = substr($str,$i+1,$l);
    return $ext;
    }
    
    // This variable is used as a flag. The value is initialized with 0 (meaning no error found)
    //and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
    $errors=0;
    // checks if the form has been submitted
    if(isset($_POST['Submit']))
    {
    //reads the name of the file the user submitted for uploading
    $image=$_FILES['image']['name'];
    // if it is not empty
    if ($image)
    {
    // get the original name of the file from the clients machine
    $filename = stripslashes($_FILES['image']['name']);
    
    // get the extension of the file in a lower case format
    $extension = getExtension($filename);
    $extension = strtolower($extension);
    // if it is not a known extension, we will suppose it is an error, print an error message
    //and will not upload the file, otherwise we continue
    if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
    {
    echo '<h1>Unknown extension!</h1>';
    $errors=1;
    }
    else
    {
    // get the size of the image in bytes
    // $_FILES[\'image\'][\'tmp_name\'] is the temporary filename of the file in which the uploaded file was stored on the server
    $size=getimagesize($_FILES['image']['tmp_name']);
    $sizekb=filesize($_FILES['image']['tmp_name']);
    
    //compare the size with the maxim size we defined and print error if bigger
    if ($sizekb > MAX_SIZE*1024)
    {
    echo '<h1>You have exceeded the size limit!</h1>';
    $errors=1;
    }
    
    //we will give an unique name, for example the time in unix time format
    $image_name=time().'.'.$extension;
    //the new name will be containing the full path where will be stored (images folder)
    $newname="images/".$image_name;
    $copied = copy($_FILES['image']['tmp_name'], $newname);
    //we verify if the image has been uploaded, and print error instead
    if (!$copied)
    {
    echo '<h1>Copy unsuccessfull!</h1>';
    $errors=1;
    }
    else
    {
    // the new thumbnail image will be placed in images/thumbs/ folder
    $thumb_name='images/thumbs/'.$image_name;
    // call the function that will create the thumbnail. The function will get as parameters
    //the image name, the thumbnail name and the width and height desired for the thumbnail
    $thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
    }} }}
    
    //If no errors registred, print the success message and show the thumbnail image created
    if(isset($_POST['Submit']) && !$errors)
    {
    
    $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    
    mysql_select_db("eurico_edy", $con);
    
    
    
         id     name     location     date_of_birth     car_number     favourite_track     least_favourite_track     achievements     sponsors     email     image 
    
    
    $query = "UPDATE products SET name = '$name',   location = '$location', date='$date', description='$description', category='$category', location='$location', price='$price' WHERE id = '$id'";
    
    
    
    echo "<h1>Thumbnail created Successfully!</h1>";
    echo '<img src="'.$thumb_name.'">';
    echo ''.$newname.'';
    mysql_close($con);
    }
    
    
    ?>
    
    
    PHP:
     
    macaela, Sep 18, 2010 IP
  6. BrettOwnz

    BrettOwnz Member

    Messages:
    286
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    28
    #6
    I'm assuming this is the code you were referring to?:

    
    if (isset($_GET['drivers'])) 
     {
       // get the image file name so we
       // can delete it from the server
       $sql = "SELECT id, image
    
               FROM driversnew
    
               WHERE id = {$_GET['drivers']}";
    
       $result = mysql_query($sql)
    
                 or die('Delete photo failed. ' . mysql_error());
    
       if (mysql_num_rows($result) == 1) {
    
          $row = mysql_fetch_assoc($result);
          
    define("GALLERY_IMG_DIR", "./images/");
    
          // remove the image and the thumbnail from the server
          unlink(GALLERY_IMG_DIR . $row['image']);
    
          unlink(GALLERY_IMG_DIR . 'thumbs/' . $row['image']);
          
          // and then remove the database entry
          
          
       }
    
    }
    
    PHP:
    In that case, it should be perfectly fine to remove and then insert/update with MySQL. Is there a separate php file for processing the 'Update' form or is that the lines of code that I have included above?

    Please specify..
    Thanks
     
    BrettOwnz, Sep 18, 2010 IP
  7. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #7
    Separate file well they were both separated i copy both and paste them all in one so it could do both like it would unlink the images and then carry out the update process include insert image into directory
    on the comments that i have put ///upload starts here/// thats the upload file i had is that what u asking????
     
    macaela, Sep 18, 2010 IP
  8. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #8
    ok this is how is looking did not work help

    <?php
    define('ROOT_DIR', './');
    define('PROPER', TRUE);
    /**
    * include common files
    */
    include_once(ROOT_DIR. 'includes/common.inc.php');
    // No album id has been selected
    if (isset($_GET['drivers'])) 
     {
       // get the image file name so we
       // can delete it from the server
       $sql = "SELECT id, image
    
               FROM driversnew
    
               WHERE id = {$_GET['drivers']}";
    
       $result = mysql_query($sql)
    
                 or die('Delete photo failed. ' . mysql_error());
    
       if (mysql_num_rows($result) == 1) {
    
          $row = mysql_fetch_assoc($result);
          
    define("GALLERY_IMG_DIR", "./images/");
    
          // remove the image and the thumbnail from the server
          unlink(GALLERY_IMG_DIR . $row['image']);
    
          unlink(GALLERY_IMG_DIR . 'thumbs/' . $row['image']);
          
          // and then remove the database entry
          
          
       }
    
    }
     
     /////////// this where the upload script starts/////////// this where the upload script starts//////// this where the upload script starts
    
    
    //define a maxim size for the uploaded images
    define ("MAX_SIZE","100");
    // define the width and height for the thumbnail
    // note that theese dimmensions are considered the maximum dimmension and are not fixed,
    // because we have to keep the image ratio intact or it will be deformed
    define ("WIDTH","150");
    define ("HEIGHT","100");
    
    // this is the function that will create the thumbnail image from the uploaded image
    // the resize will be done considering the width and height defined, but without deforming the image
    function make_thumb($img_name,$filename,$new_w,$new_h)
    {
    //get image extension.
    $ext=getExtension($img_name);
    //creates the new image using the appropriate function from gd library
    if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
    $src_img=imagecreatefromjpeg($img_name);
    
    if(!strcmp("png",$ext))
    $src_img=imagecreatefrompng($img_name);
    
    //gets the dimmensions of the image
    $old_x=imageSX($src_img);
    $old_y=imageSY($src_img);
    
    // next we will calculate the new dimmensions for the thumbnail image
    // the next steps will be taken:
    // 1. calculate the ratio by dividing the old dimmensions with the new ones
    // 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
    // and the height will be calculated so the image ratio will not change
    // 3. otherwise we will use the height ratio for the image
    // as a result, only one of the dimmensions will be from the fixed ones
    $ratio1=$old_x/$new_w;
    $ratio2=$old_y/$new_h;
    if($ratio1>$ratio2) {
    $thumb_w=$new_w;
    $thumb_h=$old_y/$ratio1;
    }
    else {
    $thumb_h=$new_h;
    $thumb_w=$old_x/$ratio2;
    }
    
    // we create a new image with the new dimmensions
    $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
    
    // resize the big image to the new created one
    imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
    
    // output the created image to the file. Now we will have the thumbnail into the file named by $filename
    if(!strcmp("png",$ext))
    imagepng($dst_img,$filename);
    else
    imagejpeg($dst_img,$filename);
    
    //destroys source and destination images.
    imagedestroy($dst_img);
    imagedestroy($src_img);
    }
    
    // This function reads the extension of the file.
    // It is used to determine if the file is an image by checking the extension.
    function getExtension($str) {
    $i = strrpos($str,".");
    if (!$i) { return ""; }
    $l = strlen($str) - $i;
    $ext = substr($str,$i+1,$l);
    return $ext;
    }
    
    // This variable is used as a flag. The value is initialized with 0 (meaning no error found)
    //and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
    $errors=0;
    // checks if the form has been submitted
    if(isset($_POST['Submit']))
    {
    //reads the name of the file the user submitted for uploading
    $image=$_FILES['image']['name'];
    // if it is not empty
    if ($image)
    {
    // get the original name of the file from the clients machine
    $filename = stripslashes($_FILES['image']['name']);
    
    // get the extension of the file in a lower case format
    $extension = getExtension($filename);
    $extension = strtolower($extension);
    // if it is not a known extension, we will suppose it is an error, print an error message
    //and will not upload the file, otherwise we continue
    if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
    {
    echo '<h1>Unknown extension!</h1>';
    $errors=1;
    }
    else
    {
    // get the size of the image in bytes
    // $_FILES[\'image\'][\'tmp_name\'] is the temporary filename of the file in which the uploaded file was stored on the server
    $size=getimagesize($_FILES['image']['tmp_name']);
    $sizekb=filesize($_FILES['image']['tmp_name']);
    
    //compare the size with the maxim size we defined and print error if bigger
    if ($sizekb > MAX_SIZE*1024)
    {
    echo '<h1>You have exceeded the size limit!</h1>';
    $errors=1;
    }
    
    //we will give an unique name, for example the time in unix time format
    $image_name=time().'.'.$extension;
    //the new name will be containing the full path where will be stored (images folder)
    $newname="images/".$image_name;
    $copied = copy($_FILES['image']['tmp_name'], $newname);
    //we verify if the image has been uploaded, and print error instead
    if (!$copied)
    {
    echo '<h1>Copy unsuccessfull!</h1>';
    $errors=1;
    }
    else
    {
    // the new thumbnail image will be placed in images/thumbs/ folder
    $thumb_name='images/thumbs/'.$image_name;
    // call the function that will create the thumbnail. The function will get as parameters
    //the image name, the thumbnail name and the width and height desired for the thumbnail
    $thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
    }} }}
    
    //If no errors registred, print the success message and show the thumbnail image created
    if(isset($_POST['Submit']) && !$errors)
    {
    
    $con = mysql_connect("localhost","root","");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    
    mysql_select_db("eurico_edy", $con);
    
    
    
    $query = "UPDATE products SET name = '$name',   location = '$location', date_of_birth='$date_of_birth', car_number='$car_number', favourite_track='$favourite_track', least_favourite_track='$least_favourite_track', achievements='$achievements', achievements='$achievements' email='$email', image='$image'   WHERE id = '$id'";
    
    
    
    echo "<h1>Thumbnail created Successfully!</h1>";
    echo '<img src="'.$thumb_name.'">';
    echo ''.$newname.'';
    mysql_close($con);
    }
    
    
    ?>
    
    
    PHP:
     
    macaela, Sep 18, 2010 IP
  9. BrettOwnz

    BrettOwnz Member

    Messages:
    286
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    28
    #9
    No, I am asking where you are actually editing...at what line in the code is the if statement you originally posted?
     
    BrettOwnz, Sep 18, 2010 IP
  10. sunlcik

    sunlcik Peon

    Messages:
    39
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #10
    Sure,you can use this code.
     
    sunlcik, Sep 18, 2010 IP
  11. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #11
    No the first post i sent was just an example of how the whole think was suppost to look like what i meant just the structure of how the whole page was gona look like by delete tha was the whole script of delete and insert thats the whole script of insert just so when user press submit from modify.php takes to the the page a post it which is the modifyaction.php that will do the whole process but now the problem is it doesnt even do anything the only thing i get is the url nothing happens with the current action page not even showing errors or anything
     
    macaela, Sep 18, 2010 IP
  12. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #12
    help please
     
    macaela, Sep 19, 2010 IP
  13. qualitypoint

    qualitypoint Peon

    Messages:
    56
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #13
    @macaela I couldn't understand issue properly.
    In your first post I am seeing "if if". Is it typo? Or, you are trying to explain something?
     
    qualitypoint, Sep 19, 2010 IP
  14. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #14
    i was trying to explain the if, if was just the structure of how the code was gona look like, what i actually meant is the whole modify code what i am trying to achive is a form where the user can modify data from the database aswell as replace the image on images directory with that big code that i post it but unfortunally when i click update from the form is meant to take u to tha form which that form is meant to remove image from the folder then insert new image and update database
    basically is a modify script help please anything wrong in that code would help desperate nw
    this is the form with the submit buttom that will take him to the modifyaction.php
    ?>        
    
    
      <form action = 'modifydriveraction.php' method="GET"  enctype="multipart/form-data">
      <p>ID: <input  readonly="yes" name="id" type="text" value=<?php print $row["id"] ?> size="5" >
      This has been made 'readonly' as cannot amend key field </p>
       <p>dnt know: <input type="text" cols="40" rows="1" name="name" value=<?php print $row["name"] ?> ></p>
       <p>name: <input type="text" name="location" value=<?php print $row["location"] ?> ></p>
       <p>Artical: <input type="text" name="date_of_birth" value=<?php print $row["date_of_birth"] ?> ></p>
         <p>Date: <input type="text" cols="40" rows="1" name="car_number" value=<?php print $row["car_number"] ?> ></p>
       <p>Subject: <input type="text" name="favourite_track" value=<?php print $row["favourite_track"] ?> ></p>
       <p>Artical: <input type="text" name="least_favourite_track" value=<?php print $row["least_favourite_track"] ?> ></p>
         <p>Date: <input type="text" cols="40" rows="1" name="achievements" value=<?php print $row["achievements"] ?> ></p>
       <p>Subject: <input type="text" name="sponsors" value=<?php print $row["sponsors"] ?> ></p>
        <p>Date: <input type="text" cols="40" rows="1" name="email" value=<?php print $row["email"] ?> ></p>
       <p>Subject: <input type="text" name="sponsors" value=<?php print $row["sponsors"] ?> ></p>
          <p>image: <input type="file" name="image" value=<?php print $row["image"] ?> ></p>
          <?php echo '<td><img class="picture" src="images/' . $row['image'] . ' " width="120"  height="120 " /></td> '; ?>
    
    
        <p><input type="submit" value="Submit" name="Update" > </p>
      </form>        
    PHP:
     
    macaela, Sep 19, 2010 IP
  15. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #15
    did u understand what i mean now??
     
    macaela, Sep 19, 2010 IP
  16. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #16
    ok just found out is cz on the form i had set it up wrong so i changed to this
    <form action = 'modifydriveraction.php?drivers=<?php echo $row['id']; ?>' method="POST" enctype="multipart/form-data">
    PHP:
    Now it runs the modifyscript the only problem is it only runs the top part which is unlink image form directory but i want to continue second part which is store the new file and update database.. my question is why is only doing the top part of the script???
     
    macaela, Sep 19, 2010 IP
  17. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #17
    the update not working on the last part of the script help please

    <?php
    define('ROOT_DIR', './');
    define('PROPER', TRUE);
    /**
    * include common files
    */
    include_once(ROOT_DIR. 'includes/common.inc.php');
    // No album id has been selected
    if (isset($_GET['drivers']))
    {
       // get the image file name so we
       // can delete it from the server
       $sql = "SELECT id, image
    
               FROM driversnew
    
               WHERE id = {$_GET['drivers']}";
    
       $result = mysql_query($sql)
    
                 or die('Delete photo failed. ' . mysql_error());
    
       if (mysql_num_rows($result) == 1) {
    
          $row = mysql_fetch_assoc($result);
          
    define("GALLERY_IMG_DIR", "./images/");
    
          // remove the image and the thumbnail from the server
          unlink(GALLERY_IMG_DIR . $row['image']);
    
          unlink(GALLERY_IMG_DIR . 'thumbs/' . $row['image']);
          
          // and then remove the database entry
    
    print_r($_POST);
    
    
         
       }
    
    }
    
    
    
      $id = $_GET['id'] ;
        $name = $_POST['name'];
        $location = $_POST['location'];
        $date_of_birth = $_POST['date_of_birth'];
        $car_number = $_POST['car_number'];
        $favourite_track = $_POST['favourite_track'];
        $least_favourite_track = $_POST['least_favourite_track'];
        $achievements = $_POST['achievements'];
        $sponsors = $_POST['sponsors'];    
        $email = $_POST['email'];    
        $image  = $_FILES['image'];
    /////////// this where the upload script starts/////////// this where the upload script starts//////// this where the upload script starts
      /////////// this where the upload script starts/////////// this where the upload script starts//////// this where the upload script starts
    
    
    //define a maxim size for the uploaded images
    define ("MAX_SIZE","100");
    // define the width and height for the thumbnail
    // note that theese dimmensions are considered the maximum dimmension and are not fixed,
    // because we have to keep the image ratio intact or it will be deformed
    define ("WIDTH","150");
    define ("HEIGHT","100");
    
    // this is the function that will create the thumbnail image from the uploaded image
    // the resize will be done considering the width and height defined, but without deforming the image
    function make_thumb($img_name,$filename,$new_w,$new_h)
    {
    //get image extension.
    $ext=getExtension($img_name);
    //creates the new image using the appropriate function from gd library
    if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
    $src_img=imagecreatefromjpeg($img_name);
    
    if(!strcmp("png",$ext))
    $src_img=imagecreatefrompng($img_name);
    
    //gets the dimmensions of the image
    $old_x=imageSX($src_img);
    $old_y=imageSY($src_img);
    
    // next we will calculate the new dimmensions for the thumbnail image
    // the next steps will be taken:
    // 1. calculate the ratio by dividing the old dimmensions with the new ones
    // 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
    // and the height will be calculated so the image ratio will not change
    // 3. otherwise we will use the height ratio for the image
    // as a result, only one of the dimmensions will be from the fixed ones
    $ratio1=$old_x/$new_w;
    $ratio2=$old_y/$new_h;
    if($ratio1>$ratio2) {
    $thumb_w=$new_w;
    $thumb_h=$old_y/$ratio1;
    }
    else {
    $thumb_h=$new_h;
    $thumb_w=$old_x/$ratio2;
    }
    
    // we create a new image with the new dimmensions
    $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
    
    // resize the big image to the new created one
    imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
    
    // output the created image to the file. Now we will have the thumbnail into the file named by $filename
    if(!strcmp("png",$ext))
    imagepng($dst_img,$filename);
    else
    imagejpeg($dst_img,$filename);
    
    //destroys source and destination images.
    imagedestroy($dst_img);
    imagedestroy($src_img);
    }
    
    // This function reads the extension of the file.
    // It is used to determine if the file is an image by checking the extension.
    function getExtension($str) {
    $i = strrpos($str,".");
    if (!$i) { return ""; }
    $l = strlen($str) - $i;
    $ext = substr($str,$i+1,$l);
    return $ext;
    }
    
    // This variable is used as a flag. The value is initialized with 0 (meaning no error found)
    //and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
    $errors=0;
    // checks if the form has been submitted
    if(isset($_POST['Submit']))
    {
    //reads the name of the file the user submitted for uploading
    $image=$_FILES['image']['name'];
    // if it is not empty
    if ($image)
    {
    // get the original name of the file from the clients machine
    $filename = stripslashes($_FILES['image']['name']);
    
    // get the extension of the file in a lower case format
    $extension = getExtension($filename);
    $extension = strtolower($extension);
    // if it is not a known extension, we will suppose it is an error, print an error message
    //and will not upload the file, otherwise we continue
    if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
    {
    echo '<h1>Unknown extension!</h1>';
    $errors=1;
    }
    else
    {
    // get the size of the image in bytes
    // $_FILES[\'image\'][\'tmp_name\'] is the temporary filename of the file in which the uploaded file was stored on the server
    $size=getimagesize($_FILES['image']['tmp_name']);
    $sizekb=filesize($_FILES['image']['tmp_name']);
    
    //compare the size with the maxim size we defined and print error if bigger
    if ($sizekb > MAX_SIZE*1024)
    {
    echo '<h1>You have exceeded the size limit!</h1>';
    $errors=1;
    }
    
    //we will give an unique name, for example the time in unix time format
    $image_name=time().'.'.$extension;
    //the new name will be containing the full path where will be stored (images folder)
    $newname="images/".$image_name;
    $copied = copy($_FILES['image']['tmp_name'], $newname);
    //we verify if the image has been uploaded, and print error instead
    if (!$copied)
    {
    echo '<h1>Copy unsuccessfull!</h1>';
    $errors=1;
    }
    else
    {
    // the new thumbnail image will be placed in images/thumbs/ folder
    $thumb_name='images/thumbs/'.$image_name;
    // call the function that will create the thumbnail. The function will get as parameters
    //the image name, the thumbnail name and the width and height desired for the thumbnail
    $thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
    }} }}
    
    //If no errors registred, print the success message and show the thumbnail image created
    
    
    
    
    $query = "UPDATE driversnew SET name = '$name',   location = '$location', date_of_birth='$date_of_birth', car_number='$car_number', favourite_track='$favourite_track', least_favourite_track='$least_favourite_track', achievements='$achievements', achievements='$achievements' email='$email', image='$image'   WHERE id = '$id'";
    
    
    
    
    echo "<h1>Thumbnail created Successfully!</h1>";
    echo '<img src="'.$thumb_name.'">';
    echo ''.$name.'';
    echo ''.$location.'';
    
    
    
    
    ?> 
    PHP:
     
    macaela, Sep 19, 2010 IP
  18. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #18
    almost perfect but just one issue not uploading the new image i wonder if is cz on the part upload script that changes the image variable to $image_name

    because on the upload script i have, thats a different one thats the insert one i have like this
    mysql_query("INSERT INTO driversnew (id,  image)
    VALUES ('$_POST[id]', '$image_name')");
    PHP:
    so do i need to change the Update one with something like this?? change the image to image='$image_namecz current is like this??
    $query = "UPDATE driversnew SET name = '$name',  image='$image' WHERE id = '$id'";
    PHP:
     
    macaela, Sep 19, 2010 IP
  19. macaela

    macaela Active Member

    Messages:
    181
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    51
    #19
    upload image instead sends word Array into database why
     
    macaela, Sep 19, 2010 IP
  20. sunlcik

    sunlcik Peon

    Messages:
    39
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #20
    I cann't understand what you mean.
     
    sunlcik, Sep 19, 2010 IP