Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z ZIP-em
deha21
post 2.12.2015, 15:15:32
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


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


--------------------
Go to the top of the page
+Quote Post
vokiel
post 2.12.2015, 15:51:17
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Sprawdź jaki masz status, możliwe, że błąd podpowie Ci co jest przyczyną.


--------------------
Go to the top of the page
+Quote Post
deha21
post 7.12.2015, 09:16:34
Post #3





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Pokazuje mi:
  1. Invalid or unitialized Zip object


Może ktoś pomóc? Bo stoję w miejscu :c

Ten post edytował deha21 4.12.2015, 08:19:49


--------------------
Go to the top of the page
+Quote Post
bobek358
post 7.12.2015, 10:18:31
Post #4





Grupa: Zarejestrowani
Postów: 143
Pomógł: 22
Dołączył: 17.11.2007

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


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) {
Go to the top of the page
+Quote Post
Pyton_000
post 7.12.2015, 10:28:45
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


albo najpierw chdir('../pliki'); a potem scandir('.'); i reszta tak jak jest.
Go to the top of the page
+Quote Post
deha21
post 7.12.2015, 10:42:17
Post #6





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


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.


--------------------
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: 27.06.2025 - 15:35