0

I am loading an image file using jquery filedialog. And then sending an ajax request to a php file to upload the image to database. Here is my ajax request being sent

$("#imgfile").on("change",function(e){
                    var file_data = $('#imgfile').prop('files')[0]; 
                e.preventDefault();
                var form_data = new FormData();                  
                form_data.append('file', file_data);
                //alert(form_data); 
                $.ajax({
            url: 'changeProfileImg.php', // point to server-side PHP script 
            contentType: "image/jpeg",  // what to expect back from the PHP script, if anything
            cache: false,
            dataType: "image",
            processData: false,
            data: form_data,                         
            type: 'post',
            success: function(php_script_response){
                alert(php_script_response); // display response from the PHP script, if any
            }
            }); 
                });

Here is my php code

include_once 'dbconnect.php';
    if ( 0 < $_FILES['file']['error'] ) {
        echo 'Error: ' . $_FILES['file']['error'] . '<br>';
    }
    else {
        //move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
        $file=$_FILES['file']['name'];
        $id=$_SESSION['id'];
        $sql="UPDATE  mainadmin set photo='$file' where id='$id'";
        mysql_query($sql);
        echo 'success';
        $_SESSION['photo']=$file;
    }

But i see some garbase thing is being inserted into database not showing the image. How can i do it working.

3
  • You're doing it wrong. Read this tutorial Commented Jun 27, 2015 at 6:40
  • I want to upload to database not a folder in server Commented Jun 27, 2015 at 6:50
  • Can you help me to point out the mistake. i am not finding it Commented Jun 27, 2015 at 6:59

1 Answer 1

1

See below URL and code I think this is helpful to you.

Simple jQuery progress bar percentage

This is my tested code file upload with progress bar percentage

But u can manage or modify as per Your requirement.

<!doctype html>
<head>
<title>File Upload Progress Demo #1</title>
<style>
body { padding: 30px }
form { display: block; margin: 20px auto; background: #eee; border-radius: 10px; padding: 15px }

.progress { position:relative; width:400px; border: 1px solid #ddd; padding: 1px; border-radius: 3px; }
.bar { background-color: #B4F5B4; width:0%; height:20px; border-radius: 3px; }
.percent { position:absolute; display:inline-block; top:3px; left:48%; }
</style>
</head>
<body>
    <h1>File Upload Progress Demo #1</h1>
    <code>&lt;input type="file" name="myfile"></code>
        <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="uploadedfile"><br>
        <input type="submit" value="Upload File to Server">
    </form>

    <div class="progress">
        <div class="bar"></div >
        <div class="percent">0%</div >
    </div>

    <div id="status"></div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
(function() {

var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');

$('form').ajaxForm({
    beforeSend: function() {
        status.empty();
        var percentVal = '0%';
        bar.width(percentVal)
        percent.html(percentVal);
    },
    uploadProgress: function(event, position, total, percentComplete) {
        var percentVal = percentComplete + '%';
        bar.width(percentVal)
        percent.html(percentVal);
    },
    complete: function(xhr) {
     bar.width("100%");
    percent.html("100%");
        status.html(xhr.responseText);
    }
}); 

})();       
</script>

</body>
</html>

my php code

<?php
$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
?>
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.