Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][ZIP] Pakowanie zapakowanego katalogu
gorden
post
Post #1





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


Witam, nigdy nie bawiłem się w to a na pierwszy rzut oka w google nie ma żadnych gotowców, więc może ktoś tutaj ma opanowany temat.

A więc, mam plik a.zip, a w nim katalog b, w którym znajdują się pliki (bez katalogów). Chciałbym zawartość tego katalogu zapisać w postaci b.zip
Najlepiej jakby rozwiązanie korzystało z czystego PHP, może używać większej ilości zasobów ponieważ ta operacja nie będzie przeprowadzania zbyt często
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. $zip=new ZipArchive;
  2. $files=array();
  3. $source='a.zip';
  4. $dest='b.zip';
  5. if($zip->open($source)===true){
  6. for($i=0;$i<$zip->numFiles;$i++){
  7. $entry=$zip->getNameIndex($i);
  8. if(strpos($entry,"b/")!==false)
  9. $files[]=$entry;
  10. }
  11. $zip->extractTo('.',$files);
  12. $zip->close();
  13.  
  14. if($zip->open($dest,ZIPARCHIVE::CREATE)===true){
  15. foreach($files as $file){
  16. if(!is_dir($file))
  17. $zip->addFile($file,str_replace("b/","",$file));
  18. }
  19. $zip->close();
  20. echo 'ok';
  21. }
  22. else{
  23. echo 'nieok';
  24. }
  25. }
  26. else{
  27. echo 'nieok';
  28. }

Nie usuwa wypakowanego katalogu "b".

Ten post edytował trueblue 7.08.2014, 17:50:18
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 18:24