本文实例讲述了php计算整个目录大小的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/** * Calculate the full size of a directory * * @author Jonas John * @version 0.2 * @link http://www.jonasjohn.de/snippets/php/dir-size.htm * @param string $DirectoryPath Directory path */ function CalcDirectorySize( $DirectoryPath ) { // I reccomend using a normalize_path function here // to make sure $DirectoryPath contains an ending slash // (-> http://www.jonasjohn.de/snippets/php/normalize-path.htm) // To display a good looking size you can use a readable_filesize // function. // (-> http://www.jonasjohn.de/snippets/php/readable-filesize.htm) $Size = 0; $Dir = opendir( $DirectoryPath ); if (! $Dir ) return -1; while (( $File = readdir( $Dir )) !== false) { // Skip file pointers if ( $File [0] == '.' ) continue ; // Go recursive down, or add the file size if ( is_dir ( $DirectoryPath . $File )) $Size += CalcDirectorySize( $DirectoryPath . $File . DIRECTORY_SEPARATOR); else $Size += filesize ( $DirectoryPath . $File ); } closedir ( $Dir ); return $Size ; } //使用范例: $SizeInBytes = CalcDirectorySize( 'data/' ); |
希望本文所述对大家的php程序设计有所帮助。