Login   Register  
PHP Classes
elePHPant
Icontem

File: dirinfo_sample.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Mark Quah  >  Dir Info  >  dirinfo_sample.php  >  Download  
File: dirinfo_sample.php
Role: Example script
Content type: text/plain
Description: Sample script with explanation
Class: Dir Info
Listing directories for browsing via Web
Author: By
Last change:
Date: 2003-11-17 00:24
Size: 5,425 bytes
 

Contents

Class file image Download
<HTML>
<HEAD><TITLE>DIRINFO Class DEMO</TITLE>
</HEAD>
<BODY>
<?php

    
include_once "dirinfo.php";

    
//===== READ DIRECTORY INTO OBJECT
    // define icon images,
    //      left hand side= file extension or 'File Folder' or 'default'(unknown')
    //      right hand side = image location; look for /icons in Apache
    
$icon = array(
                
'default'=>'none.gif',
                
'File Folder'=>'/icons/dir.gif',
                
'html'=>'/icons/world1.gif',
                
'txt' => '/icons/text.gif');
    
// specify directory to be read and the url path
    
$root_dir $_SERVER['DOCUMENT_ROOT'];
    
$root_url "http://".$_SERVER['SERVER_NAME'];
    
// instantiate new class with filter ("*"), icon list, and date format
    //      date format is using strftime format
    
$dir = new DIRINFO($root_dir$root_url"*"$icon"%d/%m/%y %H:%M");
?>

<?php
    
//===== DETAIL LISTING =====================================================

    //---- Default listing
    
echo "<H1>Detail Listing: Default</H1>";
    
$dir->DisplayList();
    
//---- Customized Listing
    
echo "<HR><H1>Detail Listing: Customized</H1>";
    
// Define sorting order: file type follows by file name
    
$dir->Sort(array('ftype''Name'));
    
// Define columns to display
    // built-in field: Name, Name-url, Attribute, Type, Modified, Created, Accessed
    // Left hand side: field anme
    // Right hand side: descirption to be used for header row display
    
$display=array('Name-url'=>'Name',
                   
"Size"=>"Size",
                 
"Type"=>"Type",
                
"Modified"=>"Modified"
            
);
    
// Display it
    
$dir->DisplayList("class='dirinfo' BORDER=1"$display);
    
// Display is tabulated in table
    //  we define  <TABLE class='dirinfo' BORDER=1>
    //  The header row is using <TH> enclosure:
    //        thus .dirinfo TH format the header row
    //  The icon is using IMG:    .dirinfo IMG
    //  The link is using A:     .dirinfo A
    //  Each field is using class as its own name, thus:
    //          .dirinfo .Name-url
    //          .dirinfo .Size
    //          .dirinfo .Type
    //          .dirinfo .Modified
?>
<style>
.dirinfo { font: 12pt; font-weight: bold; width: 100%; text-align:center;
            border: none; }
.dirinfo IMG  {  border:none; height: 15px;}
.dirinfo TH { font: 12pt; background: gray; font-weight: bold;
            border: outset 5}
.dirinfo A { font: 12pt; font-weight: bold;
            height: 15px; border:none; padding: 2px; text-decoration: none}
.dirinfo A:HOVER { background: cyan}
.dirinfo .Name-url { font: 12pt; font-weight: bold; height: 15px;
            width: 30px;
            background: lightyellow;
            text-align:left; padding: 2px; text-decoration: none}
.dirinfo .Size { height: 15px; font:italic
            width: 100px; text-align: right;
            background: lightgreen;
            padding: 2px; text-decoration: none}
.dirinfo .Type { background: yellow}
.dirinfo .Modified { background: darkgreen}
?>

</style>
<?php
    
//===== ICON DISPLAY =======================================================
    
echo "<HR><H1>ICON Display</H1>";
    
// Define sorting order: file type follows by file name
    
$dir->Sort(array('ftype''Name'));
    
// define field to be display
    
$display=array('icon'=>'Name',
                   
"Size"=>"Size",
                 
"Type"=>"Type",
                
"Modified"=>"Modified"
            
);
    
// display it
    
$dir->DisplayIcon("class='diricon' BORDER=1 WIDTH=80%"4$display);

?>
<style>
.diricon { font: 12pt; font-weight: bold; width: 100%; text-align:center;
            border: none; }
.diricon IMG  { border: none; height: 50px; text-align:center }
.diricon A { font: 12pt; font-weight: bold;
            height: 15px; border:none; padding: 2px; text-decoration: none}
.diricon A:HOVER { background: cyan}

.diricon SPAN.icon { font: 12pt; font-weight: bold; height: 30px;
            width: 50px; text-align: center;
            background: lightblue;
            padding: 2px; text-decoration: none}
.diricon SPAN.Size { height: 15px; font:italic
            width: 100px; text-align:center;
            background: lightgreen;
            padding: 2px; text-decoration: none}
.diricon SPAN.Type { font: 8pt italic; background: lightgreen;}
.diricon SPAN.Modified { font: 8pt italic; background: lightyellow;}
</style>

<?php
    
//===== ICON DISPLAY =======================================================
    
echo "<HR><H1>Custom Field</H1>";
    
// create a field 'mylink'
    
for ( $i 0$i $dir->no_item$i ++)
    {   switch ( 
$dir->stat[$i]['Type'])
        {   case 
'File Folder':
                
$dir->stat[$i]['mylink'] = "Directory: ".
                        
$dir->stat[$i]['fname'];
                break;
            default:
                
$dir->stat[$i]['mylink'] = $dir->stat[$i]['Name-url'];
                break;
        }
    }

    
$display=array(
            
'mylink'=>'My Transform',
            
"Size"=>"Size",
            
"Type"=>"Type",
            
"Modified"=>"Modified"
            
);
    
// Display it
    
$dir->DisplayList("class='dirinfo' BORDER=1"$display);
?>
<style>
.dirinfo .mylink { font: 8pt italic; background: lightyellow;}
</style


</BODY>
</HTML>