| 
<?php
define('ISO_LIB_PATH', '/data/ftp/autre/php_iso_lib/classes/');
 
 include_once (ISO_LIB_PATH . 'iso_includes.php');
 
 $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
 {
 $Pdesc = $isoFile->GetDescriptor(PRIMARY_VOLUME_DESC);
 if(!$Pdesc) {
 die('Impossible de localiser le "Primary Descriptor"...' . "\n");
 }
 
 $Bdesc = $isoFile->GetDescriptor(BOOT_RECORD_DESC);
 if($Bdesc) {
 
 $bootCat = $Bdesc->LoadBootCatalog($isoFile, $Pdesc->iBlockSize);
 if($bootCat != NULL) {
 
 echo 'Information de boot' . "\n";
 echo "\t" . 'Platform: ' . CBootCatalog::PlatformIDToName($bootCat->platformID) . "\n";
 echo "\t" . 'Manufacturer: ' . $bootCat->manufacturerID . "\n";
 echo "\n";
 
 $count = $Bdesc->GetBootCatalogEntryCount($isoFile, $Pdesc->iBlockSize);
 for($i = 0 ; $i < $count ; $i++) {
 
 $bootCatDefaultEntry = $Bdesc->LoadBootCatalogEntry($isoFile, $Pdesc->iBlockSize, $i);
 echo "\t" . 'Boot entry ' . ($i + 1) . ': ' . "\n";
 if($bootCatDefaultEntry) {
 
 echo "\t\t" . 'Boot media type: ' . CBootCatalogEntry::BootMediaTypeToName($bootCatDefaultEntry->mediaType) . "\n";
 echo "\t\t" . 'Loaded segment: 0x' . dechex($bootCatDefaultEntry->loadSegment) . "\n";
 echo "\t\t" . 'System type: ' . CBootCatalogEntry::SystemTypeToName($bootCatDefaultEntry->systemType) . "\n";
 echo "\t\t" . 'Location (LBA): ' . $bootCatDefaultEntry->loadRDA . "\n";
 echo "\t\t" . 'Sector count: ' . $bootCatDefaultEntry->sectorCount . "\n";
 }
 else
 echo "\t\t" . 'Invalide...' . "\n";
 }
 } else {
 
 echo 'L\'image ISO n\'est pas bootable...' . "\n\n";
 }
 }
 else
 {
 echo 'L\'image ISO n\'est pas bootable...' . "\n\n";
 }
 }
 ?>
 |