Czasem zachodzi potrzeba wgrania na serwer sporej ilości plików, np. kilkudziesięciu zdjęć, pakietu instalacyjnego dla WordPress’a bądź systemu Joomla. Jak wiemy, bardzo łatwo można zrobić to za pomocą każdego klienta FTP, jednak sam proces przesyłania, czasem kilku, kilku tysięcy plików, trwa znacznie dłużej, niż wykonanie jednego polecenia, które wyśle nam spakowane pliki w archiwum ZIP.
Kiedy przesłana paczka jest już na serwerze, rozpakowanie ich to już kwestia tylko kilku chwil, dlatego warto zainteresować się poniższym skryptem, który zrobi to automatycznie.
W zmiennej $zip->open(„…”) przechowujemy ścieżkę do katalogu, w którym znajduje się przesłane archiwum.
1 2 3 4 5 6 | <?php $zip = new ZipArchive(); if ($zip->open("tmp/plik.zip") !== TRUE) {die ('Błąd rozpakowywania archiwum.');} $zip->extractTo("katalog/"); $zip->close(); ?> |
W miejscu $zip->extractTo(„…”); należy podać miejsce, w którym wypakowane pliki mają się znaleźć, również tak, jak w poprzednim przypadku, ścieżkę do katalogu musimy zakończyć slash’em.
Jeśli podczas działania skryptu wystąpi błąd, zakończy on swoją pracę i wyświetli komunikat o niepowodzeniu.
dzięki, przydatne :)
Cieszę się, że mogłem pomóc:)
Dzięki, przydatne
Dzieki przydatne: dla joomli np:
open(„Joomla_1.5.26-Stable-Full_Package.zip”) !== TRUE) {die (’B│╣d rozpakowywania archiwum.’);}
$zip->extractTo(„.”);
$zip->close();
?>
Tego właśnie szukałem :)
Bardzo przydatne!
A jak nie chce rozpakować do konkretnego katalogu tylko po prostu na serwer ?
a czy można dodać funkcję dir by wyszukała pliki zip w wskazanym katalogu i wyboru który chcemy rozpakować jeśli tak prosiłbym o informacje jak zmodyfikować kod.
Zgóry dzięki :)