【发布时间】:2017-02-01 17:21:15
【问题描述】:
在说什么之前。我已经为此寻找解决方案。我现在正在尝试解决这个问题。
我目前正在尝试通过每次下载文件时回显来显示 ftp 下载的进度。
这是我的代码的一部分:
<?php
header('Content-type: text/html; charset=utf-8');
header('Cache-Control: no-cache, must-revalidate');
header('X-Accel-Buffering: no');
// ftp connection stuff goes here
$string_length = 4096;
for ($i=0; $i < $filesLength; $i++) {
if (ftp_get($ftp_conn, './downloads/'.$files[$i]['local'], $files[$i]['server'], FTP_ASCII)) {
echo 'File: '.$files[$i]['local'].' saved.<br>';
// $string = str_repeat('.', $string_length);
// echo '<div style="display:none;">'.$string . '</div>';
ob_flush();
flush();
} else {
echo "Error";
}
}
那里有 2 条注释行,如果我取消注释它的所有内容。
我应该怎么做才能完成这项工作?
【问题讨论】:
-
php.net/manual/en/function.ob-flush.php 声明
flush(); ob_flush();而不是相反。 -
不起作用。再次。如果我添加 2 条未注释的行,它会完美运行。但是在 DOM 中添加了一堆 ....。
-
你能换个浏览器或电脑试试吗?