PHP。文件大小超过2 Gb和最大执行时间

时间:2014-10-21 11:33:57

标签: php filesize

我使用此函数http://us.php.net/manual/en/function.filesize.php#115792在32位/ 64位平台上获取超过2 GB的文件/文件夹大小。

function my_filesize($fp) {...}

$dir = opendir( 'my_path' );
print my_filesize($dir);

function my_filesize($ fp) - 请参阅上面的链接。

但我得到致命错误:C:\ ...在线上超过30秒的最长执行时间*

这是一行:

if (0 === fseek($fp, - $step, SEEK_CUR)) {

我尝试使用 set_time_limit(0)。 当然它不起作用。

如果我使用http://us.php.net/manual/en/function.filesize.php#113457,我会得到同样的结果。

我该怎么办?

编辑2: 似乎我需要使用不是opendir。我必须使用 fopen ,路径必须包含文件,而不是目录。

1 个答案:

答案 0 :(得分:0)

使用

set_time_limit - 限制最长执行时间

设置允许脚本运行的秒数。如果达到此值,脚本将返回致命错误。默认限制为30秒,如果存在,则max_execution_time

中定义的php.ini.

调用时,set_time_limit()从零开始重启超时计数器。换句话说,如果超时是默认的30秒,并且脚本执行了25秒,则进行set_time_limit(20)之类的调用,脚本将在超时之前运行总共45秒。