【发布时间】:2016-09-13 13:06:37
【问题描述】:
这是我的屏幕截图,请参见用户 1 上传了一些文件/图像,例如(图像 1、图像 2 和图像 3)。另一个用户(用户 2)上传了一些文件/图像(图像 4、图像 5、图像 6)。两个用户都上传了文件/图像同时。我正在为用户文件上传目录使用单个目录。现在我面对的是哪个用户上传的文件/图像?这个 angular.js 文件
'use strict';
$(function(){
$(document).on('click','#drop_div',function(){
$('#file_upload').click();
});
});
angular.module('app', ['angularFileUpload']).controller('AppController', ['$scope', 'FileUploader', function($scope, FileUploader) {
var uploader = $scope.uploader = new FileUploader({url: 'upload.php'});
console.log('uploader---------'+uploader);
uploader.filters.push({
name: 'customFilter',
fn: function(item /*{File|FileLikeObject}*/, options) {
var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
var file_exten_val = '|pdf|jpg|jpeg|png|bmp|gif|application|x-zip-compressed|'.indexOf(type);
var file_name = item.name;
var slice_exten = file_name.split('.');
console.log([type,file_exten_val]);
if((file_exten_val == -1) && (slice_exten[1] =='epub') || (type =='x-zip-compressed')){
return this.queue.length < 20;
}else if(file_exten_val >= 0){
return this.queue.length < 20;
}
}
});
}]);
上传.php
<?php
if ( !empty( $_FILES ) ) {
$tempPath = $_FILES['file']['tmp_name'];
$uploadPath = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . $_FILES[ 'file' ][ 'name' ];
echo $uploadPath;
move_uploaded_file( $tempPath, $uploadPath );
$answer = array( 'answer' => 'File transfer completed' );
$json = json_encode( $answer );
echo $json;
} else {
echo 'No files';
}
?>
【问题讨论】:
-
您可以将用户的唯一 ID 添加到文件名中吗?还是将每个用户的图像存储在自己的子目录中?
标签: javascript php angularjs