【发布时间】:2010-06-23 20:29:41
【问题描述】:
例如,我有一个文件正在通过 ftp 上传,并且文件大小发生了变化。我事先知道文件大小。那么,即使文件没有完成上传并等待文件大小在完成缓冲之前匹配,我如何让 php 将其发送到客户端浏览器。下面的代码不会更新句柄,也不会看到对文件所做的更改。我每次都可以通过 fopen 但也许有合适的方法?谢谢
$buffer = '';
$cnt =0;
$handle = fopen($filename, 'rb');
if ($handle === false) {
return false;
}
while ($cnt < $totalSize) {
$buffer = fread($handle, 2048);
echo $buffer;
ob_flush();
flush();
$bufferLen = strlen($buffer);
$cnt += $bufferLen;
if(!$bufferLen) sleep(1);
}
fclose($handle);
【问题讨论】:
标签: php upload ftp download buffer