<?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";
}
}
?>
|