首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带进度条的PHP批处理

带进度条的PHP批处理
EN

Stack Overflow用户
提问于 2013-02-12 11:41:13
回答 3查看 1.9K关注 0票数 0

我一直在搜索PHP批处理教程,但到目前为止还没有。

我接到了从MS Excel导入数据的任务。对于每个excel数据,将由PHP处理以创建mysql行。

由于1excel数据的复杂性,我想建立一个批处理系统,其中PHP一次处理一行,显示一些进度条。然后防止超时(设置为60秒)。

对此有什么指导原则/例子/等等吗?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-12 11:48:28

为了防止超时,你必须把set_time_limit(0);放在代码的第一位,如果你想让浏览器不超时,你必须回显一些数据并刷新浏览器

票数 0
EN

Stack Overflow用户

发布于 2013-02-12 11:47:23

通常,对于CSV,我会使用fgetcsv - http://php.net/manual/es/function.fgetcsv.php -它可以让你一次做一行。

对于进度条,您可以为处理的每一行和来自浏览器的AJAX请求更新一个JSON文件,以读取该文件并使用javascript在前端显示客户端的进度条。

票数 0
EN

Stack Overflow用户

发布于 2013-02-12 14:41:19

我不太清楚你想要什么,但我会试一试。据我所知,您希望在PHP程序运行时使用批处理文件来刺激进度条。

首先,你需要知道你需要多少个细胞来做任何你想做的事情。只要这是可能的(并且它可以将数字导出到文本文件),那么它应该是可能的。

下面的方法将需要一个.txt文件,当它包含需要处理的单元格数量时(如果不能,您可能应该跳过整个答案)。然后,它将扫描包含已经处理的单元格数量的不同文本文件(最好是文件中唯一的内容,否则可能会变得很麻烦)。

了解我和我在思考生活方式之前的谈话,这个答案可能永远不会提交,因为我是一个笨蛋,高估了我能完成的事情。

所以,不用再多说了.

代码语言:javascript
复制
@echo off & setlocal enabledelayedexpansion
for /f %%i in (file1) do set num1=%%i
set /a num1*=100
:update
if not exist file2 goto update
for /f %%i in (file2) do (
    if %%i equ %prog% goto update
    set prog=%%i
)
set /a prog*=100
set /a stat=%prog%/%num1%
cls
echo %stat% % done.
goto update

嗯,结果比我预期的要好。这个答案可能刚刚发布。我应该注意的一件事是,您需要用适当文件的文件路径替换file1file2 (有两次)。file1应该包含所需的细胞数量,无论上面的内容是什么。file2应该具有已处理的更新单元格数量。

不幸的是,我没有对此进行测试,我确信会有错误或可以改进的地方。它被制作成一个模板,并激发了一些其他想法,而不是硬拷贝。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14825016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档