0

当我尝试上传 excel 表并处理每一行时,将其存储在我的数据库中。不幸的是,当我上传更大的数据集时,这不起作用。同一个文件上传两次。这是相同的代码片段。

     ignore_user_abort(true);
    $excelSheetReader = new Spreadsheet_Excel_Reader();
                    $excelSheetReader->read($_FILES['bulk_data']['tmp_name']);
                    $sheets = $excelSheetReader->sheets;


                    if(count($sheets)>0){
                        $sheets=$sheets[0];
                    }

                    if($sheets !=NULL) {

                        for ($x = 1; $x <= $sheets['numRows']; $x++) {

        set_time_limit(0); 
    //process each row
    }
}`

`

4

1 回答 1

0

检查的第一个可能原因是用户是否实际上两次上传文件。:) 您应该确保用户不会意外多次上传文件,例如单击“提交”两次。

如果用户错误不是问题,那么接下来要看的是请求类型。您使用什么样的请求来上传文件:PUTPOST?APUT是幂等的,这意味着用户的浏览器可以在遇到错误时自动重复请求,例如超时。POST但是,如果不先询问用户,则永远不会重试。

如果您使用的是PUT,我建议您尝试将请求类型更改为POST,看看是否有帮助。

于 2013-04-28T18:25:12.057 回答