如何用sleep()在while循环中回显某些内容?

时间:2019-07-02 13:34:20

标签: php csv while-loop sleep fopen

我有一个while循环来读取带有客户数据(名称,电子邮件,网站)的csv文件。我用来每秒回显每一行。所以我用sleep(1)做了一阵循环并充满了希望,但是浏览器一直在等待直到完全退出。我知道,那就是php的工作方式,也许它与javacript一样容易,但是我对javascript一点也不了解。即使flush()技术也不起作用。也许是我主机上的问题?我使用one.com

我已经在循环内尝试过sleep()了。 -加载直到完成 我已经尝试过冲洗功能-一样

$handle = fopen ("csv.csv","r");
$csv = array();

while ( ($data = fgetcsv ($handle, 1000, "\t")) !== FALSE ) {
    $csv[] = $data;
    echo "Name=".$data[0]."<br>Email=".$data[1]."<br>Website=".$data[2];
    sleep(1);
}
fclose ($handle);

1 个答案:

答案 0 :(得分:0)

您可以同时使用php和javascript来执行此操作。

步骤1:Javascript将在php上执行一次ajax调用,以将csv数据转换为json形式。

步骤2:PHP将读取csv文件,将数据存储到数组中,然后将json编码的数据返回给javascript。

第3步:使用setInterval函数在javascript中循环浏览后端数据:

var data = /* json data from ajax call */;

var i=0, html='';
var loop = setInterval(function(){
    // Perform the operation here, which will print some data at interval of 1 second
    if(i==data.length) {
        clearInterval(loop);
    }
}, 1000);