【功能】:理论上可以上传无限大的文件 – 实时显示上传状态、进度 – 支持多文件上传以及与表单混合上传 – 方便的用户调用接口 – 兼容不同浏览器
下载地址:http://www.ugia.cn/?p=77
【问题】但是在实际使用过程中出现了大文件不能上传的问题?
自己电脑:PHP5.4+ 可以上传没有问题。
同事电脑:PHP5.2+ 10M以上的文件不能上传,停留在最后一步不动。
【解决】fread 读取大文件问题。
文件upu.class.php 中:
fwrite($writeHandle, fread($readHandle,$this->formData[$k]['filesize']))
在PHP5.4+ 的环境中可以读取大文件是没有问题。
但是在PHP5.2+ 可能会出问题(不能什么原因)。用:
while ( ! feof($readHandle)){ $__temp = @fread($readHandle, 1024); fwrite($writeHandle, $__temp); }
代替可以解决这一问题。
网上没有找到 PHP5.4+ 或 PHP5.3+ 对 fread 优化或改进的资料。
请高手指正,谢谢
Chorme不能兼容上传问题解决办法:
=====================================================================================
102行:
//socket_write($uRequest, $httpResponse);
136行:
if (!$this->Boundary)
{
if (preg_match(“/Content-Type: multipart\/form-data; boundary=(\S+)/i”, $Contents, $matchesB))
$this->Boundary = $matchesB[1];
}
167行:
// parse
$boundary = str_repeat(“-“, 2) . $this->Boundary;
======================================================================================
upu-0.21 upu