使用jquery和php将数据与上传图像一起保存到mysql中

时间:2014-08-04 03:50:12

标签: php jquery mysql

这是我第一次来这里。

我目前正在创建一个表单,将数据字符串插入mysql数据库并将图像上传到一起。图像名称必须保存在mysql DB中,文件必须移动到文件夹,我们将其命名为“image /”文件夹。

我使用jquery插入数据。下面是我试过的一段代码:

形式:

<form enctype="multipart/form-data" method="post" action="" id="formBerita">
<div>
 Title:
    <div><input type="text" id="title" name="the_title" placeholder="Your title here..." autocomplete="off"></div>
</div>
<div>
 Content :
    <div><textarea id="content" name="the_content"></textarea></div>
</div>
<div>
<input type="hidden" name="max_size" value="300000">
Image:
<div><input id="img" name="the_img" type="file" /></div>
</div>
<div>
  <input type="button" id="btnSave" value="Save">
</div>

用于插入的jQuery:

<script>
$(document).ready(function(){
  $('#btnSave').on('click', function(){
    var title = $("#title").val();
    var content = $("#content").val();
    var img = $("#img").val();
    var dataContent = 'title='+title+'&content='+content+"&img="+img;
    if(!title){
        alert("You must fill the title!");
          $("#title").focus();
    }
    else {
        $.ajax({
            type: "post",
            url: 'includes/saveContent.php',
            data: dataContent,
            beforeSend: function() {
                respon.contentColumn.append(respon.loader);   //just loader before saving the data
            },
            success: function(datas) {
                respon.contentColumn.find(respon.loader).remove();
            }
        });
    }
  });
});

</script>

saveContent.php文件:

<?php

$title = $_POST['title'];
$content  = $_POST['content'];
$img  = $_POST['img'];

$query = "INSERT INTO tbl_content VALUES('','$title','$content','$img')";
mysql_query($query);

?>

到目前为止,上述代码运行良好。但是,我仍然困惑如何使用jQuery和PHP将图像文件上传并移动到某个目录或文件夹。

众所周知,我们通常在php中使用:

move_uploaded_file($tempNama=$_FILES['fileName']['tmp_name'], $fileDestination);

用于将图像文件移动到目标文件夹。

所以,问题是:我应该添加什么来完成我的代码,以便可以上传图像文件并将其移动到目标目录?

2 个答案:

答案 0 :(得分:0)

使用此功能。

 $targetDir = "D:\image_uploads";
    if(is_array($_FILES)) {
       if(is_uploaded_file($_FILES['img']['tmp_name'])) {
          if(move_uploaded_file($_FILES['img']['tmp_name'],"$targetDir/".$_FILES['img']['name'])) 
          {
             echo "File uploaded successfully";
          }
       }
    }

答案 1 :(得分:0)

如何在文件夹中保存图像,但路径名保存在php中的数据库中

<?php
include("config.php");

if(isset($_POST['submit'])){

$folder = "upload/";

$imagefile = $_FILES["image"]["name"];

$temp = $_FILES["image"]["tmp_name"] ;

$wer = move_uploaded_file($temp,"$folder".$imagefile );

$query1="INSERT INTO employee (image) VALUES ('".$imagefile."')";
mysqli_query($conn,$query1);


}

?>
<!DOCTYPE html>

<html> 

<head>

<title>Demo</title>

<style type="text/css">

input[type=file]

{

width: 50%;

padding: 12px 20px;

margin: 8px 0;

display: inline-block;

border: 1px solid #ccc;

border-radius: 2px;

box-sizing: border-box;
}


div {

border-radius: 5px;

background-color: #f2f2f2;

padding: 20px;

}

</style>

<form  method="post"  enctype="multipart/form-data">

<div class="form-group">

        <label for="password" class="form-group">upload Image</label>

    <input id="image" type="file" name="image"    required="required">

     </div>


<input type="submit" class="btn btn-default"  value="register" id="submit" 
name="submit">

        </form>

</body> 

</html>