Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zzipowanie folderu na serwerze www, Czy istnieje taka możliwość?
Tomek58
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

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


Witam!
Mam na serwerze dosyć duży folder, w którym znajduje się masa plików, chciałbym go przegrać na inny serwer, tak aby nie ściągać go na dysk a potem wgrywać na drugi serwer, bo przy moim łączu zajmie to wieki. W tym celu musiałbym go zzipować więc nasuwa się pytanie czy istnieje taki skrypt dzięki któremu mógłbym zzipować cały folder? Po przeszukaniu google znalazłem skrypty zipujące jeden, lub kilka plików, ale jak zzipować cały folder?
Go to the top of the page
+Quote Post
Method
post
Post #2





Grupa: Zarejestrowani
Postów: 177
Pomógł: 6
Dołączył: 14.01.2003
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


zipowanie, tarowanie &others możesz wykonać z linii poleceń - a zatem nawet poczatkujacy nie powinien mieć większych problemów by wywołać w skrypcie polecenie z linii poleceń.

Krotko mówiąc da się (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !

Można się tez posłuzyć do tego celu skonstruowaną bibilioteką http://pl.php.net/zip
Go to the top of the page
+Quote Post
Tomek58
post
Post #3





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

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


Do jednego z serwerów nie mam dostępu przez SSH, więc chcę spakować ten katalog za pomocą PHP. W tym linku co mi podałeś, w przykładach widzę jak spakować dany plik, ale nie wiem dalej jak spakować katalog?
Go to the top of the page
+Quote Post
hwao
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Istnieje taka możliwość, jest sporo bibliotek przygotowanych do tego typu zadania:

http://articles.techrepublic.com.com/5100-...11-6161314.html

Jeżeli nie masz dostępu do SSH, sprawdź czy z poziomu php się nie da przy pomocy system" title="Zobacz w manualu PHP" target="_manual()
Go to the top of the page
+Quote Post
Tomek58
post
Post #5





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

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


Chcąc sprawdzić czy jest uruchomiona możliwość korzystania z system() piszę skrypt testowy:

Kod
<?php  
  $zip = system(wget);
  ?>


Co zwraca mi: wget: zagubiony URL Użycie: wget [OPCJE]... [URL]... Spróbuj wget --help' po więcej opcji.
Czyli opcja system chyba działa?

Ale gdy wrzucę:
Kod
<?php
  $sFileName = 'top.tar.gz';  
  $sPathName = 'top/';    
  system('tar zcf ' . $sFileName . ' ' . $sPathName);
  ?>


Wyskakuje:
Kod
[b]Warning[/b]:  Unexpected character in input:  ''' (ASCII=39) state=1 in [b]/home/strona/ftp/zip.php[/b] on line [b]4[/b]


EDIT: Chyba rozwiązałem problem, poprawiłem kod na następujący:

Kod
<?php  
$sFileName = 'top.tar.gz';  
$sPathName = 'top/';    
system("tar zcf ' . $sFileName . ' ' . $sPathName '");
?>


I utworzyło tara (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Przepraszam że post pod postem, ale kolejny problem. Gdy chciałem spakować większy katalog, po odpaleniu skryptu na serwerze pojawił się plik: . top.tar.gz . którego nie da się usunąć, a archwium nie powstało (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował Tomek58 19.10.2008, 12:32:30
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 19:29