Javascript 将JSON文件传递到php服务器,然后将其中的数据保存到Mysql数据库中
正如标题所说,我正在编写一个网络应用程序,作为学校项目的一部分。我的目标是让某人上传一个json文件,并将其中的一些数据保存在Mysql上的一个表中,以便在应用程序中进一步发挥功能 我的问题是如何将JSON文件传递给PHP,然后从那里解析它,从而将所需数据存储到数据库中。我尝试通过Jquery fileupload发送它,因为json文件可能相当大,在php端,我使用了函数file\u get\u contents,但没有成功 以下是我的javascript代码:Javascript 将JSON文件传递到php服务器,然后将其中的数据保存到Mysql数据库中,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,正如标题所说,我正在编写一个网络应用程序,作为学校项目的一部分。我的目标是让某人上传一个json文件,并将其中的一些数据保存在Mysql上的一个表中,以便在应用程序中进一步发挥功能 我的问题是如何将JSON文件传递给PHP,然后从那里解析它,从而将所需数据存储到数据库中。我尝试通过Jquery fileupload发送它,因为json文件可能相当大,在php端,我使用了函数file\u get\u contents,但没有成功 以下是我的javascript代码: $(document).rea
$(document).ready(function () {
$("#submitupload").click(function(){
var files = $("#files");
$("#uploadedfile").fileupload({
url: 'upload.php',
dataType: 'json',
autoUpload: false
}).on('fileuploadadd', function (e, data) {
var fileTypeAllowed = /.\.(json)$/i;
var fileName = data.originalFiles[0]['name'];
var fileSize = data.originalFiles[0]['size'];
console.log(data);
if (!fileTypeAllowed.test(fileName)){
$("#error").html('Only json files are allowed');
}else
data.submit();
}).on('fileuploaddone', function (e , data){
var msg = data.jqXHR.responseJSON.msg;
$("#error").html(msg);
}).on('fileuploadprogress', function (e,data){
var progress = parseInt(data.loaded / data.total * 100, 10 );
$("#progress").html("Completed: " + progress + "%");
})
})
})
下面是PHP:
<?php
include_once ('connection.php');
if (isset($_FILES['uploadingfile'])){
$file = $_FILES['uploadingfile'];
$data = file_get_contents($file);
$array = json_decode($data, true );
foreach( $array as $row){
$sql = "INSERT INTO locations(timestamp) VALUES ('".$row["timestampMs"]."')";
mysqli_query($conn, $sql);
}
$msg = array("msg" => "times ok ");
exit(json_encode($msg));
}
$\u FILES['uploadingfile']
是一个数组,包含有关上载文件的多条信息。因此,您需要使用:
$file = $_FILES['uploadingfile']['tmp_name'];
获取存储数据的文件名
有关详细信息,请参阅。您必须使用move\u uploaded\u file()
将文件复制到您有权读取的位置。仅供参考,这绝对不是将数据插入数据库的方法。您很容易受到SQL注入攻击,更不用说插入失败了,因为您的数据包含引号。通过从根本上分离查询中的数据,使用参数化查询来解决这个问题。请您给我举一个关于参数化quaries@Brad的例子好吗?