我正在使用多张图片上传社交网络应用程序。我将 a$_session['file_id']
作为数组索引分配给每个上传的文件(文件 id 来自 db)。但我只希望用户每篇文章最多上传 4 张图片。所以我在计算images.length
之前的上传,如果是== 4
,则提醒用户他不能同时上传更多文件,否则会正常上传。出于安全目的,我有一个unset($_session['file_id'])
用于确保 4 个文件不会因错误或用户更改 javascript(for
每次上传时循环,以计数$_session['file_id'])
. 我遇到的问题是 js 本身不足以确保文件没有上传 4 次,我猜 ajax 上传留在队列中,并在第 4 个文件上传之前检查文件号。有没有其他方法可以直接在php上使用,记住我不能为普通用户取消设置文件(4个文件已经上传并等待发送按钮),但如果用户刷新或退出页面,我需要加上取消设置文件? 谢谢你的时间。
JavaScript
var checkfilecount = 0;
$('#file').change(function() {
checkfilecount++;
checkfile = $("#images).length;
if (checkfile < 4 && checkfilecount < 4) {
$("#filesend").submit();
}
else {
setTimeout(function(){
alert("Sorry, You can`t upload too many files at once")
},3000)
}
})
在#postsend 上:
checkfilecount = 0;
PHP
if (isset($_SESSION['files_id'])) {
$counting = 0;
foreach($_SESSION['files_id'] as $key => $val)
{
$counting++;
if ($counting == 4) {
unset($_SESSION['files_id']);
exit("error on session array");
}
}
}