Javascript 如何通过Ajax | PHP计算时间
我有脚本上传文件,但我需要添加一个时间计数器功能,我不能,你能帮我吗Javascript 如何通过Ajax | PHP计算时间,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有脚本上传文件,但我需要添加一个时间计数器功能,我不能,你能帮我吗 function uploadFile(){ var file = _("file-7").files[0]; // alert(file.name+" | "+file.size+" | "+file.type); var formdata = new FormData(); formdata.append("file", file); var ajax = new XMLHttpRequest(); ajax.upload
function uploadFile(){
var file = _("file-7").files[0];
// alert(file.name+" | "+file.size+" | "+file.type);
var formdata = new FormData();
formdata.append("file", file);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "index.php");
ajax.send(formdata); }
在上传过程中,脚本停止且未完成,达到100MB并停止?原因是什么
地点:
有一个问题,你越刷新页面,文件就会被重新加载和上传,这是一个缺陷
脚本:
} else {
if(in_array($fileActualExt, $preview_types)) {
$preview = generate_random_string(10).".".$fileActualExt;
} else {
$preview = null;
}
$delete_token = generate_random_string(30);
clearstatcache();
$fileNewName = uniqid(true).".".$fileActualExt;
$exp = explode(".", $fileNewName);
$link_id = $exp[0];
$fileDestination = 'up/'.$fileNewName;
move_uploaded_file($fileTmpName, $fileDestination);
$db->query("INSERT INTO files (name, size, type, type_name, uniqid, id_user, statut, link_id, date, delete_token, preview) VALUES ('$fileName', '$fileSize', '$fileActualExt', '$fileType', '$fileNewName', '$id_user', '0', '$url_key', '$long_date', '$delete_token', '$preview')");
?>
您可以在上传开始时使用Date()
对象。
e、 g.var start=新日期()代码>然后开始
将是开始时间。上载完成后,使用另一个Date()
对象标记其完成时间。e、 g.var end=新日期()代码>然后结束
将是结束时间。然后计算var t=start-end使用的时间
,则结果t
将以毫秒为单位
您可以通过获取文件大小并将其除以t/1000
(因为t是毫秒)来进一步计算上载速度。如果您还可以计算一秒钟内的上载速度?通过“时间计数器”,您的意思是上载需要多长时间?是的,上载文件需要多长时间