采用了棱角分明文件上传发送额外的数值PHP脚本 [英] sending additional values to PHP script using angular-file-upload
问题描述
所以我使用角文件上传
有关这一点,我需要以下控制器:
app.controller('FileUploadCtrl',['$范围,FileUploader',函数($范围,FileUploader){
VAR上传= $ scope.uploader =新FileUploader({
网址:'JS /控制器/ upload.php的,
});//过滤器uploader.filters.push({
名称:'customFilter',
FN:函数(项目/ * {文件| FileLikeObject} * /期权){
返回this.queue.length< 10;
}
});//召回事件uploader.onWhenAddingFileFailed =功能(项/ * {文件| FileLikeObject} * /,过滤,选项){
console.info('onWhenAddingFileFailed',项目,过滤器,期权);
};
uploader.onAfterAddingFile =功能(的FileItem){
console.info('onAfterAddingFile'的FileItem);
};
uploader.onAfterAddingAll =功能(addedFileItems){
console.info('onAfterAddingAll',addedFileItems);
};
uploader.onBeforeUploadItem =功能(项目){
item.file.test =GG;
console.info('onBeforeUploadItem,项目);
};
uploader.onProgressItem =功能(的FileItem,进度){
console.info('onProgressItem'的FileItem,进度);
};
uploader.onProgressAll =功能(进度){
console.info('onProgressAll',进度);
};
uploader.onSuccessItem =功能(的FileItem,响应状态,报头){
console.info('onSuccessItem'的FileItem,响应状态,报头);
};
uploader.onErrorItem =功能(的FileItem,响应状态,报头){
console.info('onErrorItem'的FileItem,响应状态,报头);
};
uploader.onCancelItem =功能(的FileItem,响应状态,报头){
console.info('onCancelItem'的FileItem,响应状态,报头);
};
uploader.onCompleteItem =功能(的FileItem,响应状态,报头){
console.info('onCompleteItem'的FileItem,响应状态,报头);
};
uploader.onCompleteAll =功能(){
console.info('onCompleteAll');
};console.info('上传',上传);
}]);
和下面的PHP脚本:
< PHP如果(!空($ _ FILES)){ $ TEMPPATH = $ _FILES ['文件'] ['tmp_name的值'];
$ uploadPath =目录名(__FILE__)。 DIRECTORY_SEPARATOR。 '上传'。 DIRECTORY_SEPARATOR。 $ _FILES ['文件'] ['名']; move_uploaded_file($ TEMPPATH,$ uploadPath); $答案=阵列('答案'=>'文件传输完成');
$ JSON = json_en code($答案); 回声$ json的;}其他{ 回声没有文件;}?>
现在对于某些文件,我需要上传需要指定他们需要采取(这取决于我的 $的sessionStorage
A值)
所以我的问题是我怎么可以对文件的PHPscript送价值?
您可以通过发送值PHPscript FORMDATA
属性:
app.controller('FileUploadCtrl',['$范围,FileUploader',函数($范围,FileUploader){
VAR上传= $ scope.uploader =新FileUploader({
网址:'JS /控制器/ upload.php的,
FORMDATA:[{
参数1:VALUE1,
参数2:'值',
参数3:值3
}]
});
FORMDATA
属性是一个数组,将您的数据发送到 $ _ REQUEST
的在PHP。
所以,你可以使用
$ myValue1 = $ _REQUEST ['参数1];
$ myValue2 = $ _REQUEST ['参数2'];
$ myValue3 = $ _REQUEST ['参数3'];
有关任何你所需要的。
So i am using angular-file-upload
For this i need the following controller:
app.controller('FileUploadCtrl', ['$scope', 'FileUploader', function($scope, FileUploader) {
var uploader = $scope.uploader = new FileUploader({
url: 'js/controllers/upload.php',
});
// FILTERS
uploader.filters.push({
name: 'customFilter',
fn: function(item /*{File|FileLikeObject}*/, options) {
return this.queue.length < 10;
}
});
// CALLBACKS
uploader.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/, filter, options) {
console.info('onWhenAddingFileFailed', item, filter, options);
};
uploader.onAfterAddingFile = function(fileItem) {
console.info('onAfterAddingFile', fileItem);
};
uploader.onAfterAddingAll = function(addedFileItems) {
console.info('onAfterAddingAll', addedFileItems);
};
uploader.onBeforeUploadItem = function(item) {
item.file.test = "gg";
console.info('onBeforeUploadItem', item);
};
uploader.onProgressItem = function(fileItem, progress) {
console.info('onProgressItem', fileItem, progress);
};
uploader.onProgressAll = function(progress) {
console.info('onProgressAll', progress);
};
uploader.onSuccessItem = function(fileItem, response, status, headers) {
console.info('onSuccessItem', fileItem, response, status, headers);
};
uploader.onErrorItem = function(fileItem, response, status, headers) {
console.info('onErrorItem', fileItem, response, status, headers);
};
uploader.onCancelItem = function(fileItem, response, status, headers) {
console.info('onCancelItem', fileItem, response, status, headers);
};
uploader.onCompleteItem = function(fileItem, response, status, headers) {
console.info('onCompleteItem', fileItem, response, status, headers);
};
uploader.onCompleteAll = function() {
console.info('onCompleteAll');
};
console.info('uploader', uploader);
}]);
and the following php script:
<?php
if ( !empty( $_FILES ) ) {
$tempPath = $_FILES[ 'file' ][ 'tmp_name' ];
$uploadPath = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . $_FILES[ 'file' ][ 'name' ];
move_uploaded_file( $tempPath, $uploadPath );
$answer = array( 'answer' => 'File transfer completed' );
$json = json_encode( $answer );
echo $json;
} else {
echo 'No files';
}
?>
Now for some of the files i need to upload i need to specify what path they need to take (which depends on a value in my $sessionStorage
)
So my question is how can i send a value with the file to the PHPscript?
You can send values to PHPscript using formData
property:
app.controller('FileUploadCtrl', ['$scope', 'FileUploader', function($scope, FileUploader) {
var uploader = $scope.uploader = new FileUploader({
url: 'js/controllers/upload.php',
formData: [{
param1: 'value1',
param2: 'value2',
param3: 'value3'
}]
});
formData
property is an array that will send your data to $_REQUEST
in PHP.
So, you can use
$myValue1 = $_REQUEST['param1'];
$myValue2 = $_REQUEST['param2'];
$myValue3 = $_REQUEST['param3'];
for whatever you need.
这篇关于采用了棱角分明文件上传发送额外的数值PHP脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!