Home arrow PHP arrow Page 8 - Retrieving System Information With patSysinfo

Mounting Up - PHP

Linux file structure contains within it a special area called /proc. Now, some believe that there's black magic in that directory. For those who know better than to fear the /proc, there awaits much good magic, in the form of server info. Looking for a way to retrieve real-time server information and display it to users in your Web application? Today's your lucky day! Take a look at the patSysinfo PHP class, which lets you do that and a whole lot more.

TABLE OF CONTENTS:
  1. Retrieving System Information With patSysinfo
  2. Plug and Play
  3. What's in a Name?
  4. Up and at 'Em
  5. Carrying the Load
  6. A Nifty Device
  7. Running Out of RAM
  8. Mounting Up
  9. Link Zone
By: icarus, (c) Melonfire
Rating: starstarstarstarstar / 19
February 16, 2004

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement

Finally, you can obtain information on mounted file system with the getMounts() method, which returns an array containing detailed information from both the "df" command and "/proc/mounts". Take a look:


<?php 
// include class
include("patSysinfo.php"); 
 
// instantiate object
$sys = new patSysinfo(); 
 
// get mounted file systems
$mounts = $sys->getMount(); 
 
// output mount information
print_r($mounts); die;
 
? >

Here's what the output of this script might look like:

Array
(
    [0] => Array
        (
            [disk] => /dev/hda3
            [size] => 4.73 GByte
            [used] => 923.00 MByte
            [free] => 3.59 GByte
            [percent] => 21
            [mount] => /
            [type] => ext2
        )

    [1] => Array
        (
            [disk] => /dev/hda2
            [size] => 4.89 GByte
            [used] => 346.95 MByte
            [free] => 4.55 GByte
            [percent] => 7
            [mount] => /mnt/dos
            [type] => vfat
        )

    [2] => Array
        (
            [disk] => /dev/hda4
            [size] => 15.64 MByte
            [used] => 1.79 MByte
            [free] => 13.85 MByte
            [percent] => 12
            [mount] => /mnt/scamp
            [type] => msdos
        )

)

Of course, this isn't very useful by itself - what you really need to do is format it into a tabular representation, like this:


<html>
<head>
</head>
<body>
   
<table border="1" cellspacing="0" cellpadding="5">
    
<tr>
     
<td><u>Disk</u></td>
     
<td><u>Mount point</u></td>
     
<td><u>Type</u></td>
     
<td><u>Size</u></td>
     
<td><u>Used space</u></td>
     
<td><u>Free space</u></td>
     
<td><u>Used space %</u></td>
    
</tr>
<?php 
 
// include class
include("patSysinfo.php"); 
 
// instantiate object
$sys = new patSysinfo(); 
 
// get mounted file systems
$mounts = $sys->getMount(); 
 
// output mount information
foreach($mounts as $m)
{
 echo "<tr>";
 echo "<td>" . $m['disk'] . "</td>";
 echo "<td>" . $m['mount'] . "</td>";
 echo "<td>" . $m['type'] . "</td>";
 echo "<td>" . $m['size'] . "</td>";
 echo "<td>" . $m['used'] . "</td>";
 echo "<td>" . $m['free'] . "</td>";
 echo "<td>" . $m['percent'] . " %</td>";
 echo "</tr>";

 
? > 
 
</
body>
</html>

Here's the (much-friendlier) output:

patSysinfo



 
 
>>> More PHP Articles          >>> More By icarus, (c) Melonfire
 

blog comments powered by Disqus
   

PHP ARTICLES

- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...
- PHP: Building Concrete Validators
- Sanitizing Input with PHP
- Executing Shell Commands with PHP
- Handling File Data with PHP
- File Security and Resources with PHP
- ArrayObject PHP Class Examples
- ArrayObject PHP Class: An Introduction
- Getting File System Data with PHP
- PHP Tools for Working with the File and Oper...
- Working with the File and Operating System w...
- PHP Proxy Patterns: Completing a Blog


© 2003-2012 by Developer Shed. All rights reserved. DS Cluster 11 - Follow our Sitemap

Dev Shed Tutorial Topics: