Login   Register  
PHP Classes
elePHPant
Icontem

File: examples/iso_files_test.php.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Schroetter Christian  >  PHP ISO File  >  examples/iso_files_test.php.php  >  Download  
File: examples/iso_files_test.php.php
Role: Example script
Content type: text/plain
Description: Sample file
Class: PHP ISO File
Read, extract and test ISO DVD image files
Author: By
Last change:
Date: 1 year ago
Size: 2,690 bytes
 

Contents

Class file image Download
<?php
    define
('ISO_LIB_PATH''/data/ftp/autre/php_iso_lib/classes/');

    include_once (
ISO_LIB_PATH 'iso_includes.php');

    
system('clear');

    function 
EchoFDD(&$fileDirDesc$tab)
    {
        if(!
$fileDirDesc->IsDirectory())
            return;

        global 
$isoFile;
        global 
$usedDesc;

        
$tab_str '';
        for(
$i $i $tab $i++)
            
$tab_str .= "\t";

        
$extents $fileDirDesc->LoadExtents($isoFile$usedDesc->iBlockSizetrue);
        if(
$extents)
        {
            foreach(
$extents as $extent)
            {
                if(!
$extent->IsThis() && !$extent->IsParent())
                {
                    if(
$extent->IsDirectory() === true)
                    {
                        echo 
$tab_str '* ' $extent->strd_FileId "\n";
                        
EchoFDD($extent$tab 1);
                    }
                    else
                    {
                        echo 
$tab_str $extent->strd_FileId "\n";
                    }
                }
            }
        }
    }
    function 
EchoPT(&$ptRec$tab)
    {
        global 
$isoFile;
        global 
$usedDesc;

        
$tab_str '';
        for(
$i $i $tab $i++)
            
$tab_str .= "\t";

        echo 
$tab_str $ptRec->strd_DirId "\n";
        
$tab_str .= "\t";

        
$extents $ptRec->LoadExtents($isoFile$usedDesc->iBlockSizetrue);
        if(
$extents)
        {
            foreach(
$extents as $extent)
            {
                if(!
$extent->IsThis() && !$extent->IsParent())
                {
                    if(
$extent->IsDirectory() === true)
                    {
                        echo 
$tab_str '* ' $extent->strd_FileId "\n";
                        
EchoFDD($extent$tab 1);
                    }
                    else
                    {
                        echo 
$tab_str $extent->strd_FileId "\n";
                    }
                }
            }
        }
    }

    
$isoFile = new CISOFile();
    if(!
$isoFile->Open('../isos/debian-live-6.0.1-i386-kde-desktop.iso') || !$isoFile->ISOInit())
    {
        die(
'Une erreur est survenue lors de l\'ouverture du fichier ISO...' "\n");
    }
    else
    {
        
$usedDesc $isoFile->GetDescriptor(SUPPLEMENTARY_VOLUME_DESC);
        if(!
$usedDesc) {

            
$usedDesc $isoFile->GetDescriptor(PRIMARY_VOLUME_DESC);
            if(!
$usedDesc) {

                die(
'Pas de "Primary" ou "supplementary" descriptor trouvés...' "\n");
            }
        }

        echo 
'Affichage en liste (l, défaut) ou en arbre (a): ';
        
$sel trim(strtolower(fgets(STDIN)));
        if(
$sel == 'a')
        {
            
$pathTable $usedDesc->LoadMPathTable($isoFile);
            foreach(
$pathTable as $ptRec)
            {
                if(
$ptRec->ParentDirNum == 1)
                {
                    
EchoPT($ptRec0);
                }
            }
        }
        else
        {
            
$pathTable $usedDesc->LoadMPathTable($isoFile);
            foreach(
$pathTable as $ptRec)
            {
                
$fPath $ptRec->GetFullPath($pathTable$dbg);
                echo 
'Nom: ' $ptRec->strd_DirId "\n";
                echo 
"\t" 'Chemin: ' $fPath "\n";
                echo 
"\t" 'Position: ' $ptRec->Location ' (LBA)' "\n";
                echo 
"\t" 'Étendu: ' $ptRec->ExtAttrLen ' (LBA)' "\n";
            }
        }

    }
?>