1

php 是否提供 api 来检查 multipart/form-data 上传速率或总持续时间?

我还想知道 PHP 如何知道 IIS 和 php.ini 设置中的各种超时事件?

4

3 回答 3

2

$_SERVER 中有一个值,您可以检查以了解何时发起请求。来自 PHP 手册:

'REQUEST_TIME' 请求开始的时间戳。自 PHP 5.1.0 起可用。自 PHP 5.4.0 以来,它以微秒为单位浮动。

因此,您可以将 $_SERVER ['REQUEST_TIME'] 与当前 time() 进行比较,条件是在 PHP 5.4 普及之前,您的分辨率限制为 1 秒。

于 2011-12-19T10:30:07.367 回答
1

我不这么认为 - 上传在 PHP 可以对其执行任何操作时完成,即 apache 获取上传,然后完成后将其交给 PHP - 您的脚本甚至不会在此之前运行,所以除非有一种追溯获取此信息的方法我认为您无法仅从 PHP 中获取它。

获取此数据的常用方法是在客户端使用 flash 或 javascript 或两者兼而有之。例如,uploadify 或 swfupload 都是很棒的 flash 上传器,它们为用户提供客户端文件大小限制和上传进度指示。

如果文件上传、进度指示和文件大小限制可以由浏览器本身完成,那就容易多了:(

参考:

http://www.uploadify.com/demos/

http://swfupload.org/

于 2011-12-19T10:23:08.690 回答
1

对于第一个问题,我相信您可以使用$_SERVER['REQUEST_TIME']变量自己进行计算,以及time().

于 2011-12-19T10:29:15.577 回答