Javascript jqueryajax-在单个请求中向PHP发送文件和变量
我有以下用于上传文件(图片)的HTML表单: PHP脚本(upload.PHP)如下所示:Javascript jqueryajax-在单个请求中向PHP发送文件和变量,javascript,php,jquery,Javascript,Php,Jquery,我有以下用于上传文件(图片)的HTML表单: PHP脚本(upload.PHP)如下所示: $filename; if ( 0 < $_FILES['file']['error'] ) { echo 'Error: ' . $_FILES['file']['error'] . '<br>'; } else { move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file'][
$filename;
if ( 0 < $_FILES['file']['error'] ) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
$filename = $_FILES['file']['name'];
}
echo $filename;
$filename;
如果(0<$\u文件['file']['error']){
回显“错误:”.$\u文件['file']['Error'].
;
}
否则{
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
$filename=$_文件['file']['name'];
}
echo$filename;
当我运行这段代码时,PHP抛出一些未定义的索引错误。如果我在ajax请求中只使用“data:form_data”(不带variable1),那么文件将成功上载,但我也需要发送变量。我该怎么做呢?为什么不这样附加这个值呢
form_data.append('number', variable1);
将变量追加到表单_数据
var form_data = new FormData();
form_data.append('file', file_data);
form_data.append('number', variable1); // append variable
在ajax中
processData: false,
data: form_data, // data
type: 'post',
您还可以将
number
key=>值作为
form_data.append('number', variable1);
然后在Ajax调用中
data: form_data,
我遵循您的代码,因为我需要文件、图像数据和PHP脚本中的多个变量,以便在数据库中进行插入操作。但是我无法访问php脚本中的任何单个变量。我做了以下操作来访问您的数字变量。请纠正我
//upload.php
if(isset($_GET['number'])){
$num = $_GET['number'];
echo $num;
}else{
echo 'not set';
}
请帮帮我。我无法在PHP脚本中使用$\u POST而不是$\u GET访问此变量。我在上面的例子中使用POST请求。
data: form_data,
//upload.php
if(isset($_GET['number'])){
$num = $_GET['number'];
echo $num;
}else{
echo 'not set';
}