>我有一个用 angular 写的应用程序的前端,它基本上选择文件并发送后端文件名和其余表单信息:
前端部分如下所示:
$scope.submit = function() {
if ($scope.file) {
$scope.upload($scope.file);
}
};
// upload on file select or drop
$scope.upload = function (file) {
Upload.upload({
url: 'sub.php',
data: {file: file, 'country': $scope.submodelCountry}
}).then(function (resp) {
console.log('Success ' + resp.config.data.file.name + ' uploaded. Response: ' + resp.data);
}, function (resp) {
console.log('Error status: ' + resp.status);
}, function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name);
});
};
我的后端是用PHP编写的:我基本上通过以下方式访问这 2 个变体:
$fileName = $_FILES['file']['name']; // value = fileName.csv
$country = $_POST['country']; // value = CZE
所以看起来我的后端获得了所有需要的信息,但我无法使用$file = fopen($fileName,"r");
打开文件我如何访问这个文件的人?或者我怎样才能把它上传到服务器上,以便以后使用它?
您必须
将文件上传到某个文件夹,然后您可以访问它,
您的文件将出现在tmp
目录中,因此
使用 move_uploaded_files()
来移动文件,
<?php
$uploads_dir = '/uploads';
if(move_uploaded_file($_FILES["file"]["tmp_name"],
"$uploads_dir/".$_FILES["file"]["file_name"])){
echo "file uploaded";
}
?>