如何在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.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...