Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z ZipArchiwe
igla007
post 11.11.2012, 12:34:28
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.07.2012

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


Witam.
Mam problem z ZipArchiwe. Tworzę archiwum, dodaje do niego pliki i tu wszystko działa ok. Problem pojawia się przy pobraniu tego archiwum. Otóż, po rozpakowaniu pojawia się katalog "pliki" w nim "aktualności", następnie katalog o nazwie wskazanej przez zmienną $id i dopiero w tym katalogu znajdują się pliki które mnie interesują. Moje pytanie brzmi, czy istnieje możliwość utworzenia archiwum tylko z interesującymi mnie plikami, bez katalogów nadrzędnych?

Kod skryptu:

  1. $id = $_GET['id'];
  2.  
  3. $zip = new ZipArchive();
  4. $plik_arch = "./pliki/aktualnosci/$id/zdjecia.zip";
  5.  
  6. if ($zip->open($plik_arch, ZIPARCHIVE::CREATE) !==TRUE)
  7. {
  8. exit ("nie mogę zrobić pliku archiwum <$plik_arch>");
  9. }
  10.  
  11. $folder = dir('./pliki/aktualnosci/'. $id);
  12.  
  13. while($plik = $folder->read())
  14. {
  15.  
  16. if(($plik != '.') && ($plik != '..') && ($plik != 'zdjecia.zip'))
  17. {
  18. $zip->addFile("./pliki/aktualnosci/$id/$plik");
  19. }
  20. }
  21.  
  22. $zip->close();
Go to the top of the page
+Quote Post
d3ut3r
post 11.11.2012, 12:38:20
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


Spróbuj tak:

  1. $zip->addFile('./pliki/aktualnosci/'.$id.'/'.$plik,$plik);


--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
igla007
post 11.11.2012, 12:48:40
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.07.2012

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


Kurcze już prawie działa. Otóż bo otworzeniu archiwum widoczne są od razu pliki, ale oprócz nich katalog o nazwie ".", a wnim kolejne katalogi...
Go to the top of the page
+Quote Post
d3ut3r
post 11.11.2012, 13:00:31
Post #4





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


a co masz w zmiennej $plik ?


--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
igla007
post 11.11.2012, 13:48:04
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.07.2012

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


W if-ie sprawdza czy nazwa folderu to ".", dodatkowo dodałem if-a, który sprawdza czy dodawany do archiwum plik jest folderem (jeżelli tak, to ma go pominąć, ale dalej to samo, dalej oprócz zdjęć, do archiwum dodawany jest folder.
Go to the top of the page
+Quote Post

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: 24.06.2025 - 16:45