Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Obsługa RAR
Babcia@Stefa
post 14.07.2008, 10:12:52
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

Ostrzeżenie: (0%)
-----


Witam, piszę aplikację w stylu total commandera tylko że w PHP.

Teraz integruję zip, rar i tar z normalnym listingiem folderów (jak zip w windowsie), i mam kilka problemów.

  1. <?php
  2. public function GetFile($Name)
  3. {
  4. $Entry = rar_entry_get($this->Rar, $Name);
  5. $Entry -> extract('../Data/Temp/$RAR$' .base64_encode($Name). '.tmp');
  6. $Contents = file_get_contents('../Data/Temp/$RAR$' .base64_encode($Name). '.tmp');
  7. return $Contents;
  8. }
  9. ?>


Ten kod mi nie działa.

File_get_contents" title="Zobacz w manualu PHP" target="_manual wywala błąd, bo plik tymczasowy nie został utworzony przez funkcję extract.

Klasy do obsługi RAR, ZIP, TAR tworze po to dlatego że nie muszę później jakiś switchów, ifów używać tylko nazwy funkcji są takie same, tak samo z obsługą folderów i plików nie skompresowanych smile.gif

Dziękuję, Babcia@Stefa


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Babcia@Stefa
post 14.07.2008, 13:29:33
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

Ostrzeżenie: (0%)
-----


A więc rozwiązaniem nie było do końca to co powiedział legorek ponieważ RAR potrzebuje pełnej ścieżki do rozpakowania.

Zapamiętajcie że RAR POTRZEBUJE PEłNEJ ŚCIEŻKI DO ROZPAKOWANIA (TO PEWNIE CZĘSTY BŁĄD)

  1. <?php
  2. public function GetFile($Name)
  3. {
  4. // gets a resource
  5. $Entry = rar_entry_get($this->Rar, $Name);
  6. // get a path to script and change it
  7. $PathSave = str_ireplace('AjaxPages/RunFile.php', 'Data/Temp', $_SERVER['SCRIPT_FILENAME']);
  8. // extract and save result to $Test
  9. $Test = $Entry -> extract(false, $PathSave. '/$RAR$' .base64_encode($Name). '.tmp');
  10.  
  11. // check if $result is not false
  12. if($Test != false)
  13. $Contents = file_get_contents('../Data/Temp/$RAR$' .base64_encode($Name). '.tmp');
  14.  
  15. return $Contents;
  16. }
  17. ?>


Dziękuję, Babcia@Stefa

Ten post edytował Babcia@Stefa 14.07.2008, 13:30:37


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 23:13