Witam, dla potrzeb pewnej aplikacji napisałem taki ,,mikro" format który ma przypominać ZIP, RAR - nie mogłem odpalić ZIP i RAR z pod PHP dlatego napisałem ten format.

Mam obsługę formatu w klasie (klasy nie udostępniam jeszcze).
Obsługi folderów niema rozwiązałem ją lepszym sposobem:
- Dodaje plik info.xml do archiwum np.
  1. <?xml version="1.0"?>
  2. <files>
  3. <folder name="tojestfolder"/>
  4. </files>


I teraz chce napisać EXPLORATOR ARCHIWUM, jednak mam problem z wyświetlaniem odpowiednich plików dla odpowiedniego folderu sad.gif
Mój kod:
  1. <?php
  2. include('class.otlpn.php');
  3. $file = 'files/otlp-testupdate.otup';
  4.  
  5. if(is_file($file))
  6. {
  7. $archive = new OTLP('files/otlp-testupdate.otup');
  8. echo 'Załadowano plik ' .$file. ' z nagłówkiem ' .$archive->getHeader(). '<br>Pliki archiwum:<br>';
  9.  
  10. $infofile = $archive->readfile('caf9b6b99962bf5c2264824231d7a40c');
  11. echo $infofile;
  12. $xml = simplexml_load_string($infofile);
  13. $dirinfo = explode('/', $_GET['folder']);
  14. $dircount = count($dirinfo);
  15. $pathinfo = pathinfo($file);
  16. echo 'Jesteś w ' .$pathinfo['filename']. '.' .$pathinfo['extension']. '/' .$_GET['folder']. '<br>Ilość ścieżek: ' .$dircount. '<br>';
  17.  
  18. foreach ($xml->folder as $key => $value)
  19. {
  20. $folderinfo = explode('/', $value->attributes()->name);
  21. $ficount = count($folderinfo);
  22. foreach($folderinfo as $kkey => $vvalue)
  23. {
  24. if($vvalue == $dirinfo[$kkey])
  25. $folder_verified++;
  26. }
  27. if($folder_verified == $dircount)
  28. echo '<li>[Folder] <a href="?folder=' .$value->attributes()->name. '">' .$value->attributes()->name. '</a></li>';
  29. }
  30. } else
  31. echo 'Plik nie istnieje.';
  32. ?>


Nie mam pomysłów jak to rozwiązać, próbuje i próbuje...

Dziękuję, Babcia@Stefa