我使用此函数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 ,路径必须包含文件,而不是目录。
答案 0 :(得分:0)
使用
set_time_limit
- 限制最长执行时间
设置允许脚本运行的秒数。如果达到此值,脚本将返回致命错误。默认限制为30秒,如果存在,则max_execution_time
php.ini.
值
调用时,set_time_limit()
从零开始重启超时计数器。换句话说,如果超时是默认的30秒,并且脚本执行了25秒,则进行set_time_limit(20)
之类的调用,脚本将在超时之前运行总共45秒。