微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在PHP中获取当前上传的字节?

如何记录并获取从html表单上传PHP脚本的当前字节?我想稍后将当前进度存储在会话或日志中,以便另一个AJAX脚本可以检索它.这是我当前读取当前字节的代码,但它不起作用.

$file_type = $_FILES['Filedata']['type'];
$file_name = $_FILES['Filedata']['name'];
$file_size = $_FILES['Filedata']['size'];
$file_tmp = $_FILES['Filedata']['tmp_name'];

 $filePointer = fopen($_FILES['Filedata']['tmp_name'],"rb");
 $rr=0;

 if ($filePointer!=false){
 while (!feof($filePointer)){
     $fileData = fread($filePointer,4096);
     $rr =$rr+strlen($fileData);
     // Process the contents of the uploaded file here...
     $_SESSION['fname']=$rr;
 }

fclose($filePointer);
}

move_uploaded_file ($file_tmp,"files/".$file_name);

解决方法

您无法以这种方式访问​​上载的字节,因为在文件已上载之前,脚本不会被调用.

您的服务器需要安装APC或类似的pecl包

http://devzone.zend.com/1812/using-apc-with-php/

或者使用HTML5文件api

http://www.matlus.com/html5-file-upload-with-progress/

HTML5更好,因为您不必在PHP端更改任何内容,只需设置脚本来接收文件,但需要用户的浏览器支持HTML5文件api.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐