Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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 使用Angular js和php进行多文件上传_Javascript_Php_Angularjs - Fatal编程技术网

Javascript 使用Angular js和php进行多文件上传

Javascript 使用Angular js和php进行多文件上传,javascript,php,angularjs,Javascript,Php,Angularjs,我们正在接管一个网站,该网站使用Angular js作为数据和多文件上传表单(最多4个文件) 我们正在发布到一个.php文件。我已经能够分离和捕获字段数据,但似乎只能“看到”一个文件。如果我上传多个文件,我只会看到最后一个添加到表单中的文件 有人能帮我用PHP获取文件吗 表单HTML(用于文件): {{attachment.name} 上传附件 Angular JS代码-对于我看到的文件: $scope.attachments = []; //onFileSelect adds fi

我们正在接管一个网站,该网站使用Angular js作为数据和多文件上传表单(最多4个文件)

我们正在发布到一个.php文件。我已经能够分离和捕获字段数据,但似乎只能“看到”一个文件。如果我上传多个文件,我只会看到最后一个添加到表单中的文件

有人能帮我用PHP获取文件吗

表单HTML(用于文件):

  • {{attachment.name}
上传附件
Angular JS代码-对于我看到的文件:

$scope.attachments = [];

//onFileSelect adds file attachments to the $scope up to the
//configured maximum value.
    $scope.onFileSelect = function ($files) {
    var MAX_ATTACHMENTS = 4;
    for(var i=0; i < $files.length; i++){
        if($scope.attachments.length >= MAX_ATTACHMENTS){
        break;
        }
    $scope.attachments.push($files[i]);
        }            
    };

    $scope.removeAttachment = function (attachment) {
        var index = $scope.attachments.indexOf(attachment);
        if (index > -1) {
        $scope.attachments.splice(index, 1);
        }
    };

//POST form data
    $scope.upload = Upload.upload({
        url: 'forms/pressrelease.html',
        method: 'POST',
        data: $scope.model,
        file: $scope.attachments,
        fileFormDataName: "files"
    })

    .success(function (data, status, headers, config) {
        alertSuccess("Your press release has been submitted successfully!");
        $scope.showSuccess = true;
    }
$scope.attachments=[];
//onFileSelect将文件附件添加到$scope中,直到
//配置的最大值。
$scope.onFileSelect=函数($files){
var MAX_附件=4;
对于(变量i=0;i<$files.length;i++){
如果($scope.attachments.length>=MAX_attachments){
打破
}
$scope.attachments.push($files[i]);
}            
};
$scope.removeAttachment=函数(附件){
var index=$scope.attachments.indexOf(附件);
如果(索引>-1){
$scope.附件.拼接(索引1);
}
};
//POST表单数据
$scope.upload=upload.upload({
url:'forms/presslease.html',
方法:“POST”,
数据:$scope.model,
文件:$scope.attachments,
fileFormDataName:“文件”
})
.success(函数(数据、状态、标题、配置){
alertSuccess(“您的新闻稿已成功提交!”);
$scope.showsucture=true;
}
我们使用过的唯一一个PHP代码返回了任何信息,但同样,返回的信息只有1,或者最后一个文件名是:

    if(isset($_FILES['files'])){ 
$files = $_FILES['files'];

$sentfilename = $_FILES['files']['name'];
$email_body .= "I see files: $sentfilename<br />";

$tmpsentfile = $_FILES['files']['tmp_name'];

$i=0;

$getfile = $files[0];
$sentfilename = $getfile;
$sentfilesize = $_FILES['files']['size'];
$errormessage = $_FILES['files']['error'];

$email_body .= "I see files: $sentfilename<br />";
}
if(isset($\u FILES['FILES']){
$files=$_文件['files'];
$sentfilename=$_文件['FILES']['name'];
$email_body.=“我看到文件:$sentfilename
”; $tmpsentfile=$\u FILES['FILES']['tmp\u name']; $i=0; $getfile=$files[0]; $sentfilename=$getfile; $sentfilesize=$_文件['FILES']['size']; $errormessage=$_FILES['FILES']['error']; $email_body.=“我看到文件:$sentfilename
”; }
如果有人可以向我们展示捕获这些上传文件所需的PHP代码


谢谢

创建名称数组并发布动态文件名:

var names = []
foreach file:
    names.push(files[i].name)
在上载中:

  method: 'POST',
    data: $scope.model,
    file: $scope.attachments,
    fileFormDataName: names

我们在php端使用什么代码来获取每个文件?
  method: 'POST',
    data: $scope.model,
    file: $scope.attachments,
    fileFormDataName: names