jquery PHP文件上传导致浏览器内存使用量猛增

时间:2015-05-14 23:29:09

标签: php jquery firefox

我有这个jquery代码:

$('input[type=file]').on('change', uploadFiles); 

function uploadFiles(event) {
    var data = new FormData();  
    var files = event.target.files;     
    for(var i = 0;i<files.length;i++){
        data.append("file_"+i, files[i]);
    }   
    data.append('dir_name',current_directory);
    apicall('upload.php','POST',data,fileUploaded); 
}

然后在php文件中:

<?php
$data = array();
$allFiles = scandir($_REQUEST['dir_name']);
if(isset($_FILES))
{  
    $error = false;
    $uploaddir = $_REQUEST['dir_name'];
    foreach($_FILES as $file)
    {
        echo $file['error'];
        echo $file['tmp_name'];
        $new_name = $file['name'];
        move_uploaded_file($file['tmp_name'], $uploaddir .'/'.$file['name']);
    }
}
else
{
    //some code here
}
echo json_encode($error);
?>

现在这个工作和一切,我也可以一次上传任何文件和多个文件。但它导致Firefox使用的内存飙升,永远不会再次下降。它与我认为上传的文件成正比,但方式更大。我在手册中读到move_uploaded_file()删除了临时文件,因此无法解决问题。唯一有用的是关闭Firefox并再次打开它。有人可以告诉我为什么会这样,以及如何让它停止?

如果重要,我正在使用XAMPP在localhost上测试所有这些。

在chrome中不会发生这种情况。

0 个答案:

没有答案