note 95305 modified in function.disk-total-space by danbrown

From: Date: Fri, 25 Dec 2009 15:00:02 +0000
Subject: note 95305 modified in function.disk-total-space by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-164324@lists.php.net to get a copy of this message
Something that might go well with this function is the ability to list available disks. On Windows, here's the relevant code: <?php /** * Finds a list of disk drives on the server. * @return array The array velues are the existing disks. */ function get_disks(){ if(php_uname('s')=='Windows NT'){ // windows $disks=fsutil fsinfo drives; $disks=str_word_count($disks,1); if($disks[0]!='Drives')return ''; unset($disks[0]); foreach($disks as $key=>$disk)$disks[$key]=$disk.':\\'; return $disks; }else{ // unix $data=mount; $data=explode(' ',$data); $disks=array(); foreach($data as $token)if(substr($token,0,5)=='/dev/')$disks[]=$token; return $disks; } } ?> EXAMPLE OF USE: <?php print_r(get_disks()); ?> EXAMPLE RESULT: Array ( [1] => A:\ [2] => C:\ [3] => D:\ [4] => E:\ [5] => F:\ [6] => G:\ [7] => H:\ [8] => I:\ [9] => M:\ [10] => X:\ [11] => Z:\ ) Warning: This also finds empty disk drives (eg; CD or SMD drives or the more common floppy drive). Warning2: If you want to find space usage using the info from my function, prepend the disk function with the "@", eg: $free=@disk_free_space('A:\\'); --was-- Something that might go well with this function is the ability to list available disks. On Windows, here's the relevant code: /** * Finds a list of disk drives on the server. * @return array The array velues are the existing disks. */ function get_disks(){ if(php_uname('s')=='Windows NT'){ // windows $disks=fsutil fsinfo drives; $disks=str_word_count($disks,1); if($disks[0]!='Drives')return ''; unset($disks[0]); foreach($disks as $key=>$disk)$disks[$key]=$disk.':\\'; return $disks; }else{ // unix $data=mount; $data=explode(' ',$data); $disks=array(); foreach($data as $token)if(substr($token,0,5)=='/dev/')$disks[]=$token; return $disks; } } EXAMPLE OF USE: print_r(get_disks()); EXAMPLE RESULT: Array ( [1] => A:\ [2] => C:\ [3] => D:\ [4] => E:\ [5] => F:\ [6] => G:\ [7] => H:\ [8] => I:\ [9] => M:\ [10] => X:\ [11] => Z:\ ) Warning: This also finds empty disk drives (eg; CD or SMD drives or the more common floppy drive). Warning2: If you want to find space usage using the info from my function, prepend the disk function with the "@", eg: $free=@disk_free_space('A:\\'); http://php.net/manual/en/function.disk-total-space.php

« previous php.notes (#164324) next »