Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zip i PHP-
Forum PHP.pl > Forum > Przedszkole
sky993
Otoz potrzebuje skryptu, ktory bedzie z danego folderu dodawal wszystkiee pliki do archiwum. Oto kod
  1. <?php
  2. $zip= new ZipArchive();//tworzy obiekt
  3. $plik='Paczka.zip';
  4. if($zip->open($plik,ZIPARCHIVE::CREATE)!== true)//otwieramy archiwum do ktorego bedziemy dodawa pliki
  5. {
  6. echo 'Nie mozna utworzyc archiwum';
  7. }
  8.  
  9. $folder='C:\xampp2\htdocs\Katalog\pliki';//folder w ktorym znajduja sie pliki
  10. $i=0;
  11. if(!$dir=opendir($folder))
  12. {
  13. echo 'Nie udalo sie otworzyc Folderu';
  14. }
  15. while($plik=readdir($dir))
  16. {
  17. if($plik!=='.' && $plik!=='..')
  18. {
  19. echo $plik.'<br>';
  20. $zip->addFile($plik);
  21. }
  22. }
  23.  
  24. closedir($dir);
  25.  
  26. $zip->addFromString('info.txt',"Archiwum. <br>Data utworzenia".date('d:m:Y'));//krotka notka informacyjna
  27.  
  28.  
  29.  
  30.  
  31. echo "Ilość plików spakowanych: ".(($zip->numFiles)) . "\n";//ilosc spakowanych plikow
  32. $zip->close();
  33.  

Skrypt dobiega do konca ale nie tworzy archiwum.
  1. while($plik=readdir($dir))
  2. {
  3. if($plik!=='.' && $plik!=='..')
  4. {
  5. echo $plik.'<br>';
  6. $zip->addFile($plik);
  7. }

W tym momencie popawnie wyswietla wszystkie nazwy plikow. Wiec skrypt powinien wiedziec ktore pliki dodaje do archiwum.

Napisalem inny skrypt z uzycie funkcji glob i on dziala, jednak nurtuje mnie dlaczego powyzszy nie dziala poprawnie.[php][/php]
nospor
Cytat
W tym momencie popawnie wyswietla wszystkie nazwy plikow.
No właśnie, wyświetla nazwy. I ty dodajesz do archiwum nazwy. A masz dodawać pełną ścieżkę do pliku

Skoro czytasz pliki z katalogu:
'C:\xampp2\htdocs\Katalog\pliki
to do archiwum masz wstawiac
nie:
jakiśplik.txt
a:
C:\xampp2\htdocs\Katalog\pliki/jakiśplik.txt
sky993
  1. $plik=$folder."/".$plik;
  2. $zip->addFile($plik);

Teraz dziala! Wielkie dzieki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.