Prosty skrypt PHP rozpakowujący archiwum ZIP


Cześć, wrzucam tutaj prosty skrypt PHP do rozpakowywania archiwów ZIP.

Fajna sprawa jeżeli ktoś często korzysta z klienta FTP, np. do instalowania plików WordPress na serwerze. Więc zamiast pobierać paczkę WordPress i rozpakowywać ją lokalnie a potem uploadować pliki na konto FTP, możemy skorzystać z tego skryptu. Wystarczy lekko skonfigurować skrypt do rozpakowywania, a następnie plik ze skryptem i archiwum WordPressa wrzucić na serwer.

Takie rozwiązanie powinno w znaczącym stopniu ułatwić nam proces instalacji WordPress (albo każdego innego archiwum) albo przynajmniej znacznie go skrócić - w końcu łatwiej zuploadować dwa pliki niż kilka tysięcy.

Skrypt do rozpakowywania archiwum

<?php
$zip = new ZipArchive();
if ($zip->open("./nazwa_pliku.zip") !== TRUE) {die ('Błąd rozpakowywania archiwum.');}
$zip->extractTo("./sciezka_do_katalogu");
$zip->close();
?>

Instrukcja 

Kopiujemy cały powyższy kod i zapisujemy w nowym pliku z rozszerzeniem .php. Dobrze, aby plik miał jakąś łatwą nazwę (bez ogonków, spacji). Proponuję skrypt.php, albo unzip.php- obojętne.

W warunku (linijka rozpoczynająca się od if), tam gdzie mamy fragment  nazwa_pliku.zip podajemy nazwę naszego pliku archiwum. Natomiast w miejscu sciezka_do_katalogu, musimy zdefiniować ścieżkę do katalogu, w którym archiwum ma się rozpakować.

Nie ma tutaj żadnej filozofii, po uzupełnieniu skryptu o nazwę archiwum i podaniu miejsca, gdzie ma się rozpakować wystarczy oba pliki (skrypt rozpakowujący i archiwum do rozpakowania) wysłać na serwer i uruchomić skrypt - i po to właśnie była nam potrzebna łatwa nazwa.

#edit

Warto wspomnieć, że jest to bardzo dobre rozwiązanie na pojawiające się błędy przy transferze dużej ilości plików. W końcu łatwiej jest wgrać 1 plik archiwum i skrypt rozpakowujący niż X-tysięcy plików jak na przykład ma to miejsce w instalacji WordPressa. Dla tego konkretnego przypadku przygotowałem krótki opis co i jak zrobić, aby wgrać backup plików z serwera lokalnego na hosting.

Jak przygotować skrypt, aby pliki wypakowały się dokładnie tam, gdzie chcemy?


Najpierw należy spakować wszystkie pliki instalacji WP do archiwum zip. Ważne, aby wejść do katalogu głównego instalacji, zaznaczyć wszystkie pliki i je spakować - chodzi o to aby pliki nie znajdowały się w żadnym innym katalogu.

Dla normalnego Kowalskiego takie archiwa to istna bomba, bo przenosimy takie coś na pulpit, bez zastanowienia klikamy "Wypakuj tutaj" i zaraz na pulpicie roi nam się od dziwnych plików. Późniejsze sprzątanie po takiej akcji to kolejny problem, dlatego trzeba na to uważać.

Wracając do wcześniejszego wątku... Przygotowane archiwum i skrypt wypakowujący wypakowujący uploadujemy naszym ulubionym klientem FTP do katalogu, w którym pliki mają się znaleźć.

Tak wygląda lekko zmodyfikowana wersja skryptu dla tego konkretnego przykładu:

<?php
$zip = new ZipArchive();
if ($zip->open("./archiwum.zip") !== TRUE) {die ('Błąd rozpakowywania archiwum.');}
$zip->extractTo("./");
$zip->close();

?>


Zakładającz że skrypt rozpakowujący znajduje się w pliku unzip.php, archiwum do rozpakowania nazywa się archiwum.zip, oraz że pliki uploadujemy do katalogu głównego na który wskazuje domena, możemy w przeglądarce w polu adresu wpisać:

domena.pl/unzip.php

aby uruchomić skrypt.

To wszystko, należy pamiętać o skasowaniu skryptu rozpakowującego.

Brak komentarzy:

Prześlij komentarz