Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryajax-在单个请求中向PHP发送文件和变量_Javascript_Php_Jquery - Fatal编程技术网

Javascript jqueryajax-在单个请求中向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'][

我有以下用于上传文件(图片)的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']['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';
        }