Jump to content

Image uploading through database using blob datatype in mysql


priyankagound

Recommended Posts

I am stuck with  this code.I want to upload image through database and want to retrieve it  on the same page from database using blob datatype. Below is the code for my page.

 

file_insert.php:

 

<html>

<head><title>File Insert</title></head>

<body>

<h3>Please Choose a File and click Submit</h3>

 

<form enctype="multipart/form-data" action=

"<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />

<input name="userfile" type="file" />

<input type="submit" value="Submit" />

</form>

 

<?php

 

// check if a file was submitted

if(!isset($_FILES['userfile']))

{

    echo '<p>Please select a file</p>';

}

else

{

    try {

    $msg= upload();  //this will upload your image

    echo $msg;  //Message showing success or failure.

    }

    catch(Exception $e) {

    echo $e->getMessage();

    echo 'Sorry, could not upload file';

    }

}

 

// the upload function

 

function upload() {

    include "file_constants.php";

    $maxsize = 10000000; //set to approx 10 MB

 

    //check associated error code

    if($_FILES['userfile']['error']==UPLOAD_ERR_OK) {

 

        //check whether file is uploaded with HTTP POST

        if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {    

 

            //checks size of uploaded image on server side

            if( $_FILES['userfile']['size'] < $maxsize) {  

  

               //checks whether uploaded file is of image type

              

 

//if(strpos(mime_content_type($_FILES['userfile']['tmp_name']),"image")===0) {

                $finfo = finfo_open(FILEINFO_MIME_TYPE);

                if(strpos(finfo_file($finfo, 

 

$_FILES['userfile']['tmp_name']),"image")===0) {    

 

                    // prepare the image for insertion

                    $imgData =addslashes 

 

(file_get_contents($_FILES['userfile']['tmp_name']));

 

                    // put the image in the db...

                    // database connection

                    mysql_connect($host, $user, $pass) OR DIE (mysql_error());

 

                    // select the db

                    mysql_select_db ($db) OR DIE ("Unable to select 

 

db".mysql_error());

 

                    // our sql query

                    $sql = "INSERT INTO image_again_test

                    (image, name)

                    VALUES

                    ('{$imgData}', '{$_FILES['userfile']['name']}');";

 

                    // insert the image

                    mysql_query($sql) or die("Error in Query: " . mysql_error());

                    $msg='<p>Image successfully saved in database with id ='. 

 

mysql_insert_id().' </p>';

                }

                else

                    $msg="<p>Uploaded file is not an image.</p>";

            }

             else {

                // if the file is not less than the maximum allowed, print an error

                $msg='<div>File exceeds the Maximum File limit</div>

                <div>Maximum File limit is '.$maxsize.' bytes</div>

                <div>File '.$_FILES['userfile']['name'].' is 

 

'.$_FILES['userfile']['size'].

                ' bytes</div><hr />';

                }

        }

        else

            $msg="File not uploaded successfully.";

 

    }

    else {

        $msg= file_upload_error_message($_FILES['userfile']['error']);

    }

    return $msg;

}

 

// Function to return error message based on error code

 

function file_upload_error_message($error_code) {

    switch ($error_code) {

        case UPLOAD_ERR_INI_SIZE:

            return 'The uploaded file exceeds the upload_max_filesize directive in 

 

php.ini';

        case UPLOAD_ERR_FORM_SIZE:

            return 'The uploaded file exceeds the MAX_FILE_SIZE directive that was 

 

specified in the HTML form';

        case UPLOAD_ERR_PARTIAL:

            return 'The uploaded file was only partially uploaded';

        case UPLOAD_ERR_NO_FILE:

            return 'No file was uploaded';

        case UPLOAD_ERR_NO_TMP_DIR:

            return 'Missing a temporary folder';

        case UPLOAD_ERR_CANT_WRITE:

            return 'Failed to write file to disk';

        case UPLOAD_ERR_EXTENSION:

            return 'File upload stopped by extension';

        default:

            return 'Unknown upload error';

    }

}

?>

</body>

</html>

 

 

file_constants.php:

 

<?php

$host="localhost";

$user="root";

$pass="";

$db="test";

?>

Link to comment
Share on other sites

A) what exactly does this have to to do with the forum section you posted in - PHP Applications Drupal, Joomla, Zen Cart, osCommerce, MediaWiki, etc.?

 

B) given that you just parroted a reply in another thread where someone didn't ask an actual question in their post, what exactly is the question or problem you have with this code?

 

C) you have been told in other threads to post code using the forum's


bbcode tags.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.