Jak rozpakować/spakować pliki na serwerze przy użyciu PHP?

W przypadku kiedy chcesz skopiować dużą część plików na serwer najlepszą opcją przed wysłaniem jest ich spakowanie, np przy użyciu zip. Potem pozostaje już tylko ich rozpakowanie.

Niestety jednak niektóre hostingi nie dają swoim użytkownikom dostępu do shella, tak aby mógł on z poziomu linii komend rozpakować pliki. Możemy wtedy wykorzystać PHP i komendę unzip. Spójrzmy zatem na poniższy przykład:

<? php system("unzip pliki.zip"); ?>

Zapisując powyższy kod w pliku php na serwerze i uruchamiając skrypt za pomocą przeglądarki rozpakujemy pliki.zip.

Niektóre hostingi posiadają również systemy zarządzania takie jak np. cPanel czy DirectAdmin  które także umożliwiają pakowanie i rozpakowywanie plików na serwerze.

Wiemy jak rozpakować pliki przy użyciu PHP system i unzip. Teraz je spakujemy. Wykorzystamy do tego ponownie PHP oraz komendę zip parametrem -r. Spójrzmy zatem na poniży przykład:

<? php system("zip -r pliki.zip public_html/"); ?>

Powyższym poleceniem spakujemy katalog public_html wraz z zawartością do pliku: pliki.zip.

Chcesz wiedzieć jak spakować i rozpakować inne archiwa, zajrzyj do wpisu: ZIP TAR TAR.GZ – jak spakować i rozpakowywać pliki na serwerze