Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
使用angularJS和PHP上传多个文件_Php_Angularjs - Fatal编程技术网

使用angularJS和PHP上传多个文件

使用angularJS和PHP上传多个文件,php,angularjs,Php,Angularjs,我试图通过阅读一些教程来学习angularJS,在这个阶段,我试图创建一个包含多个上传文件(两个单独的文件)的表单。我想用这个插件 我遇到了以下问题 1) 如何传递2个单独文件上载的值 <input type="file" name="profile_pic" ng-file-select="onFileSelect"> <input type="file" name="document" ng-file-select="onFileSelect2"> PHP 多个文件

我试图通过阅读一些教程来学习angularJS,在这个阶段,我试图创建一个包含多个上传文件(两个单独的文件)的表单。我想用这个插件

我遇到了以下问题

1) 如何传递2个单独文件上载的值

<input type="file" name="profile_pic" ng-file-select="onFileSelect">
<input type="file" name="document" ng-file-select="onFileSelect2">
PHP


多个文件最好通过单独的XHR帖子上传。如果必须在一篇文章中同时上传,请使用内容类型
多部分/表单数据
。避免使用
application/x-www-form-urlencoded
,因为百分比编码为每个二进制字节创建3个文本字节。@georgeawg我添加了
multipart/form data
,但在我的角度代码中,如何传递这两个文件并在php中捕获它们?您看到了示例吗?在自述中有链接。是的。。。但它只有一个输入,允许选择多个文件。但我需要有2个(或更多)单独的输入文件。例如:一个输入仅用于图像,一个输入用于文档…创建一个FormData对象并将数据和文件附加到该对象。看见确保设置
内容类型:未定义
,以便XHR API可以自由地包含适当的媒体边界。当XHR API发送FormData对象时,它会使用适当的边界设置
内容类型
,并在base64中对数据进行编码。
<form enctype="multipart/form-data" method="post" >
 <input type="text" ng-model="name">
 <input type="text" ng-model="age">
 <input type="text" ng-model="title"> 
 <input type="file" name="profile_pic" ng-file-select="onFileSelect">
 <input type="file" name="document" ng-file-select="onFileSelect2">
 <input type='button' ng-click='onFormSubmit' value='Submit'>
</form>
angular.module('myApp', ['ngFileUpload']);

var MyCtrl = [ '$scope', 'Upload', function($scope, Upload) {
  $scope.onFileSelect = function(file) {

Upload.upload({
    url: 'api/upload-data.php', 
    method: 'POST',
    file: file,
    data: {
        'name': $scope.name,
        'age' : $scope.age ,
        'title' : $scope.title ,


    }
})

  };
}];
 //does not show the files
  var_dump($_FILES);
  $filename = $_FILES['file']['name'];
  move_uploaded_file( $_FILES['file']['tmp_name'] , '/uploads');

  //shows the input texts
  var_dump($_POST)