$file =input('post.avatar'); if(!$file){ $this->error('请上传需要导入的表格!支持csv,xls,xlsx格式!'); } $filePath = ROOT_PATH . DS . 'public' . DS . $file; if (!is_file($filePath)) { $this->error('上传的表格不存在,请核实'); } $PHPReader = new \PHPExcel_Reader_Excel2007(); if (!$PHPReader->canRead($filePath)) { $PHPReader = new \PHPExcel_Reader_Excel5(); if (!$PHPReader->canRead($filePath)) { $PHPReader = new \PHPExcel_Reader_CSV(); $PHPReader->setInputEncoding('GBK'); if (!$PHPReader->canRead($filePath)) { $this->error(__('Unknown data format')); } } } for($i=2;$i<=$allRow;$i++){ switch ($express_id) { case 1: //接口请求参数 $post_info = [ ]; //请求接口 $json = sendRequest('',$post_info,'POST'); $return = json_decode($json,1); $code = $return['code']; if($code==0){ $return_data = $return['data']; $taskid = $return_data['recordId']; //处理成功时的业务逻辑 $result = []; $result[$i] = [ ]; //更新用户信息 $yu_money = $yu_money-$total_fee; \app\common\model\User::score($score=0,'-'.$total_fee,$uid,',编号'.$retu[$i]['id']); $continue_num = $continue_num+1; }else{ $this->error($return['msg']); } break; default: # code... break; } } //循环结束执行业务逻辑
L'utilisateur télécharge le formulaire->arrière-plan php en analysant le formulaire->Demander le nombre d'enregistrements que la table d'interface externe a dans le corps de la boucle via la boucle for et boucler combien de fois->Quand toutes les boucles for sont exécutés, gèrent d'autres affaires
Maintenant, le problème est que lorsque la table contient plus de 500 données, le temps d'exécution de l'ensemble de la boucle for est trop long, provoquant une expiration du serveur
Comment résoudre cette situation ? L'interface peut recevoir jusqu'à 5 ajustements de données à la fois
Ce ci-dessus est un exemple de mon code. Veuillez me dire ceci. Comment résoudre le problème Si l'heure de la demande est modifiée, l'expérience utilisateur n'est pas bonne et le temps d'attente est réduit. c'est trop long