PHP配置文件图片使用Jquery和Ajax在数据库中上传和插入位置

时间:2013-08-25 07:48:55

标签: php jquery ajax

我不想创建像个人资料图片上传系统的facebook我需要它用于项目可以用jquery ajax调用php文件并将上传的文件移动到选定的文件夹并将图片位置插入数据库并输出数据到选择div? 任何形式的帮助将不胜感激。

下面是我的代码

的index.php

<html>
<head>
<title>
Member Area
</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
    $("#register").click( function() {
        $.post( $("#form").attr("action"), $("#form :input").serializeArray(), function(info) { $("#results").empty(); $("#results").html(info)} );
    });
    $("#form").submit(function(){
        return false;
    });
});
</script>
</head>

<body>
<form name="form" id="form" enctype="multipart/form-data" action="php_file.php" method="POST">
<br /><input type="file" name="file" id="file"/>
<button name="submit" id="register">Register</button>
</form>

<div id="results"></div>

</body>
</html>

php_file.php

<?php
error_reporting( E_ALL ^ E_NOTICE);
session_start();
$_SESSION['username'] = "user1";
    include_once("db.php");
        $file = $_FILES['file']['name'];
        $tmp_file = $_FILES['file']['tmp_name'];
        if($file)
        {
            $location = "avatars/$file";
            move_uploaded_file($tmp_file,$location);
            $query = "UPDATE users SET image_location ='".$location."' WHERE username ='".$_SESSION['username']."'";
            $result = mysql_query($query) or die (mysql_error());
            $query2 = "SELECT image_location FROM users WHERE username ='".$_SESSION['username']."'";
            $result2 = mysql_query($query2) or die (mysql_error());
            $row = mysql_fetch_assoc($result2);
            $image_location = $row['image_location']; 
            echo "<img src='".$image_location."' height='200px' width='200px'>";
        }
        else
        {
            $errors = "<div id='errors'>You must choose image with jpg , jpeg , png , gif this field cannot empty.</div>";
        }
if(isset($errors)) { echo $errors; }
?>

1 个答案:

答案 0 :(得分:-1)

以跨浏览器方式异步上传文件并不容易。我建议你使用像jQuery Form Plugin这样的现有jquery插件。它会让事情变得更容易。

此外,不推荐使用mysql_querymysql_fetch_assoc等功能。如果可能,请使用MySQLi或PDO_MySQL扩展名。