Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z ZIP-em
Forum PHP.pl > Forum > PHP
deha21
Mam problem z rozpakowaniem archiwum ZIP. Wzorując się na przykładach z neta, chyba skrypt jest okej. Ale widocznie musi być coś nie tak tongue.gif Mój kod:
  1. $dircontents = scandir('../pliki/zip/');
  2.  
  3. foreach ($dircontents as $file) {
  4.  
  5. $extension=pathinfo($file);
  6.  
  7. if ($extension['extension']=='zip') {
  8.  
  9. $zip = new ZipArchive();
  10.  
  11. if ($zip->open($file)==TRUE) {
  12. echo 'Rozpakowane<br>';
  13. $zip->extractTo('../pliki/zip/');
  14. $zip->close();
  15. //unlink($file);
  16. } else {
  17. die('Błąd');
  18. }
  19.  
  20. }
  21.  
  22. echo $file,'<br>';
  23. }

Pliki ZIP wykrywa, ale nie potrafi rozpakować sad.gif
vokiel
Sprawdź jaki masz status, możliwe, że błąd podpowie Ci co jest przyczyną.
deha21
Pokazuje mi:
  1. Invalid or unitialized Zip object


Może ktoś pomóc? Bo stoję w miejscu :c
bobek358
Przeszukujesz ścieżkę:
  1. $dircontents = scandir('../pliki/zip/');


i później robisz

  1. if ($zip->open($file)==TRUE) {


W zmiennej $file masz tylko nazwę pliku, a potrzebujesz nazwę ze ścieżka oraz dodatkowo sprawdzaj identyczność, czyli:

  1. if ($zip->open('../pliki/zip/'.$file)===TRUE) {
Pyton_000
albo najpierw chdir('../pliki'); a potem scandir('.'); i reszta tak jak jest.
deha21
Cytat(bobek358 @ 7.12.2015, 10:18:31 ) *
Przeszukujesz ścieżkę:
  1. $dircontents = scandir('../pliki/zip/');


i później robisz

  1. if ($zip->open($file)==TRUE) {


W zmiennej $file masz tylko nazwę pliku, a potrzebujesz nazwę ze ścieżka oraz dodatkowo sprawdzaj identyczność, czyli:

  1. if ($zip->open('../pliki/zip/'.$file)===TRUE) {

No właśnie przed chwilą to zauważyłem tongue.gif Już działa.
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.