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是毫秒)来进一步计算上载速度。

如果您还可以计算一秒钟内的上载速度?通过“时间计数器”,您的意思是上载需要多长时间?是的,上载文件需要多长时间