upload image to database

Discussion in 'Databases' started by Namuk, Mar 14, 2008.

  1. #1
    how to upload image or keep image in database?...
    i need when i click the detail of users, his photo will be appear...


    please help me, how do i can do that, or give me any suggestion to solve my problem....


    Thanks...
     
    Namuk, Mar 14, 2008 IP
  2. AstarothSolutions

    AstarothSolutions Peon

    Messages:
    2,680
    Likes Received:
    77
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Better to store it outside of the db and just its location or such within the db
     
    AstarothSolutions, Mar 14, 2008 IP
  3. Namuk

    Namuk Peon

    Messages:
    49
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    thanks... great...
    but how do i store the image location(image address) to database?..

    can u explain a little bit to me?..

    thanks.....
     
    Namuk, Mar 14, 2008 IP
  4. deepak3018

    deepak3018 Peon

    Messages:
    353
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    0
    #4
    Try to use store only location of your image where you will upload your image..
     
    deepak3018, Mar 14, 2008 IP
  5. akvarel

    akvarel Peon

    Messages:
    108
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #5
    I'll try to give you example :)

    For instance your site url is http://mysite.com and you have an image file named 'pic.jpg'

    What you should do is:
    You store the file in a folder of your site, let's say folder 'images'
    Your image url will then be: http://mysite.com/images/pic.jpg

    Great.
    Now, you can put that url (that is, 'http://mysite.com/images/pic.jpg') in the format of varchar (for example) in your database.

    Is this clear enough? :)
     
    akvarel, Mar 14, 2008 IP
  6. Namuk

    Namuk Peon

    Messages:
    49
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #6
    thanks for explanation...... i hope i can be do it....
     
    Namuk, Mar 14, 2008 IP
  7. AstarothSolutions

    AstarothSolutions Peon

    Messages:
    2,680
    Likes Received:
    77
    Best Answers:
    0
    Trophy Points:
    0
    #7
    It all depends on what you are doing.

    For example if all your images are going into http://mysite.com/images/ then you only need to store the file name as there is no point storing data and taking up space that has no point, if however it is supporting multiple sites with all different locations then the full route will be required.
     
    AstarothSolutions, Mar 14, 2008 IP
  8. Namuk

    Namuk Peon

    Messages:
    49
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #8
    i can't do this...
    i try locally but it do not function....

    i copy the address of pic in my computer and paste to database....
    and then i query it using php.....
    when i run it, only the address of pic appear, and it do not load the pic to show it.

    how do i solve this....
    my address pic is like this (C:\wamp\www\image\pic\11.jpg) .

    please help....
     
    Namuk, Mar 14, 2008 IP
  9. Namuk

    Namuk Peon

    Messages:
    49
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #9
    can i do it locally?...
    i mean, just run in my computer..... load the pic address in my computer....
     
    Namuk, Mar 14, 2008 IP
  10. AstarothSolutions

    AstarothSolutions Peon

    Messages:
    2,680
    Likes Received:
    77
    Best Answers:
    0
    Trophy Points:
    0
    #10
    It depends what you are doing with it, you would want a "web" address for it rather than physical location unless the script will only be used for those with local access.
     
    AstarothSolutions, Mar 14, 2008 IP
  11. Namuk

    Namuk Peon

    Messages:
    49
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #11
    now i can save/upload image to database.... not for the address of pic... but the image also save in database....

    but my problem now is... the pic is cant appear when i query that.....
    actually i found the code in internet but it cannot run perfect.... load image is a problem....

    anyone can help me to fix this.....
    the code is below....

    i try this code and it is run to upload image to database.... but the image is cannot appear after that..(the latest image will be appear)....
    please help.....

    <?php

    // Connect to database

    $errmsg = "";
    if (! @mysql_connect("localhost","trainee","abc123")) {
    $errmsg = "Cannot connect to database";
    }
    @mysql_select_db("test");

    // First run ONLY - need to create table by uncommenting this
    // Or with silent @ we can let it fail every sunsequent time ;-)

    $q = <<<CREATE
    create table pix (
    pid int primary key not null auto_increment,
    title text,
    imgdata longblob)
    CREATE;
    @mysql_query($q);

    // Insert any new image into database

    if ($_REQUEST[completed] == 1) {
    // Need to add - check for large upload. Otherwise the code
    // will just duplicate old file ;-)
    // ALSO - note that latest.img must be public write and in a
    // live appliaction should be in another (safe!) directory.
    move_uploaded_file($_FILES['imagefile']['tmp_name'],"latest.img");
    $instr = fopen("latest.img","rb");
    $image = addslashes(fread($instr,filesize("latest.img")));
    if (strlen($instr) < 149000) {
    mysql_query ("insert into pix (title, imgdata) values (\"".
    $_REQUEST[whatsit].
    "\", \"".
    $image.
    "\")");
    } else {
    $errmsg = "Too large!";
    }
    }

    // Find out about latest image

    $gotten = @mysql_query("select * from pix order by pid desc limit 1");
    if ($row = @mysql_fetch_assoc($gotten)) {
    $title = htmlspecialchars($row[title]);
    $bytes = $row[imgdata];
    } else {
    $errmsg = "There is no image in the database yet";
    $title = "no database image available";
    // Put up a picture of our training centre
    $instr = fopen("../wellimg/ctco.jpg","rb");
    $bytes = fread($instr,filesize("../wellimg/ctco.jpg"));
    }

    // If this is the image request, send out the image

    if ($_REQUEST[gim] == 1) {
    header("Content-type: image/jpeg");
    print $bytes;
    exit ();
    }
    ?>

    <html><head>
    <title>Upload an image to a database</title>
    <body bgcolor=white><h2>Here's the latest picture</h2>
    <font color=red><?= $errmsg ?></font>
    <center><img src=?gim=1 width=144><br>
    <b><?= $title ?></center>
    <hr>
    <h2>Please upload a new picture and title</h2>
    <form enctype=multipart/form-data method=post>
    <input type=hidden name=MAX_FILE_SIZE value=150000>
    <input type=hidden name=completed value=1>
    Please choose an image to upload: <input type=file name=imagefile><br>
    Please enter the title of that picture: <input name=whatsit><br>
    then: <input type=submit></form><br>
    <hr>
     
    Namuk, Mar 14, 2008 IP
  12. Namuk

    Namuk Peon

    Messages:
    49
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #12
    anyone can help me??.... please:(
     
    Namuk, Mar 25, 2008 IP
  13. mwasif

    mwasif Active Member

    Messages:
    816
    Likes Received:
    23
    Best Answers:
    1
    Trophy Points:
    70
    #13
    You need to call an image like below
    <html>
    <head>
    <title>Image Test</title>
    </head>
     
    <body>
    <h1>Displaying image from database</h1>
     
    <img src="showimage.php" />
    </body>
     
    </html>
    Code (markup):
     
    mwasif, Mar 25, 2008 IP