2010-04-22 65 views
1

默认情况下,您无法访问上传的文件,直到它完全传输到服务器。将文件读取为正在上传

什么是最好的方式来解决这个问题,并能够在文件上传过程中访问'字节流'?

回答

3

我认为在PHP中最接近这一点的是查看各种进度条解决方案,它们在进行文件上传到PHP脚本时为您提供进度条。我没有详细地了解其中的任何一个(我一直等到SWFUpload可以在Flash中执行此操作),但是如果您可以获取上传的进度,那么您也可以自己获取数据块。 (更新:基于APC的解决方案不能把它似乎只给上传进度。)

退房this question,尤其是this answerthis one

这些方法都不是在纯粹的vanilla PHP中运行,它们都需要Perl或APC或其他服务器端的东西来运行。

最后更新:在粗略地看一眼的Raditha Mega Upload progress barPerl code让我觉得这是你最好的选择,因为它似乎与正在上载的实际文件进行交互。虽然没有保证。

0

您需要有一些缓冲区,可以在其中添加新数据以及在块中读取的位置。然后检查是否有新数据并再次阅读。