我有一个100.000行的txt文件,我需要读取它,以便将它的大部分插入到我的数据库中。我想使用这个插件,因为我发现它非常容易使用:
http://www.bram.us/projects/js_bramus/jsprogressbarhandler/#download
我的问题是:我用PHP读取了txt文件,但我不理解如何更新进度条!我在想像这样的事情
echo '$("#progressbar").progressbar({ value: '.($k++).' });';
$k
从0到100的位置,但是,我必须把它放在哪里??
发布于 2012-04-20 16:07:37
你不可能把php和javascript混在一起:
所以k
将是静态的。
--
如果您真的想轻松地做这样的事情,您可以使用一个包含三列的中间DB表: txt_file、position、length,并且经常在PHP脚本运行在txt文件上时更新这个表。
在客户端,在Javascript中,您可以使用jQuery发出ajax请求,例如每隔5秒或10秒,它将调用另一个PHP页面,而此PHP页面将只返回中间表中的相应行。一旦你有了结果,你就可以更新进度条。
--
这是为您实现的最简单的解决方案,但它仍然非常脏,而且txt文件的解析最好是非常长的!
发布于 2012-05-02 17:35:01
我找到了这个方法:
http://spidgorny.blogspot.it/2012/02/progress-bar-for-lengthy-php-process.html
我认为这可以帮助对代码进行一些编辑。
发布于 2012-04-20 16:13:11
没有直接的方法来实现这一点。PHP脚本首先执行,然后输出被发送到查看网页的客户端,这就是为什么您不能向客户端显示PHP脚本处理的实时状态的原因。
您必须结合使用AJAX和数据库:
创建一个表来跟踪文本文件加载的进度。每当用户(客户端)向页面发送请求时,请继续更新该表的进度。使用会话id作为表上的索引,这样可以很容易地跟踪每个客户端的进度。现在,使用AJAX请求从表中获取进度,并将其与进度条一起显示给客户端。
https://stackoverflow.com/questions/10242360
复制相似问题