某种php刷新
让我先描述一下我做的ar: 我必须将大量数据从不同的xml导入到我的数据库中,因为它持续了很多时间,所以我必须放置一个进度条,我这样做:我将整个导入拆分为一个小小的AJAX请求,一次导入少量数据(当AJAX请求完成时,进度条会增加一点)。这个想法很好,但是数据越来越大,我不能再优化代码了(它已经优化了) 问题是,每次我调用AJAX时,我都会浪费很多时间处理特定于框架的事情(模型初始化等),浏览器处理url等等。所以我想知道是否可以使用php中的flush函数 但我一直在读到flush函数并不是在所有浏览器上都能很好地工作(这很奇怪,因为它是一个服务器端函数)。如果我使用flush函数,我只需编写某种php刷新,php,cakephp,flush,Php,Cakephp,Flush,让我先描述一下我做的ar: 我必须将大量数据从不同的xml导入到我的数据库中,因为它持续了很多时间,所以我必须放置一个进度条,我这样做:我将整个导入拆分为一个小小的AJAX请求,一次导入少量数据(当AJAX请求完成时,进度条会增加一点)。这个想法很好,但是数据越来越大,我不能再优化代码了(它已经优化了) 问题是,每次我调用AJAX时,我都会浪费很多时间处理特定于框架的事情(模型初始化等),浏览器处理url等等。所以我想知道是否可以使用php中的flush函数 但我一直在读到flush函数并不是在
增加进度条
或任何我想要的东西,我就可以做到
那么,对flush函数有什么意见吗?我一直在小脚本上测试它,但我想知道是否有人真的在大脚本上使用它。此外,我可以听取任何其他关于做我想做的事情的建议:)我不会直接给你建议,但我会告诉你我是如何在我的一个项目中做到这一点的。在我的情况下,我需要上传一个Excel文件,然后解析它们。数据超过3000行,我必须检查每行的所有列中的一些数据。当我在上传后直接解析它时,解析器经常在某个地方崩溃,这真的不安全 我是怎么做到的?上载过程分为两部分:
希望这对您的项目有所帮助。为什么不在后台导入整个项目?在后台导入是什么意思?必须按需发送。将请求发送到一个新文件exec(),然后告诉用户它正在工作,完成后他们将收到一封电子邮件,或者您可以检查数据库变量,并在屏幕上完成后让他们知道,如果您愿意,您可以进行“导入”使用ajax每秒检查页面是否完成很抱歉,但这不是一个真正的解决方案,因为导入也有一个可见的日志,我不应该使用诸如“exec”之类的函数,因为这些函数可能会阻塞服务器。一个exec与多个ajax调用相比,您的版本使用的资源要多得多感谢您的想法,但这很奇怪。。我有大约150万条记录,持续大约3个小时,所以…我不是说它很简单,但这样你可以在后台运行处理,而不用麻烦用户等到它完全导入。因此,一旦上传,他可以随时返回并检查状态。我的范围实际上是mych smoller,但我认为逻辑是一样的