Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Kopiowanie zawartości katalogu
Thymson
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 27.12.2006

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


Tak jak w temacie - jest jakaś funkcja (albo jak taką napisać), która kopiowałaby zawartość katalogu z podanego adresu w polu ? Czyli user podaje adres np. http://www.domena.pl/fotki/, a skrypt przenosi zawartość tego katalogu na serwer (do wybranej lokalizacji)...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
doseo
post
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 3
Dołączył: 23.01.2007
Skąd: Dys/Lublin

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


  1. <?php
  2.  
  3. function zarznijserwery( $url, $aktualny_folder = 'mirror' )
  4. {
  5. $file = file( $url );
  6. $html = implode( ' ', $file );
  7.  
  8. preg_match_all( '|<img src="(.*)" alt="[(.*)]"> <a href="(.*)">(.*)</a>|', $html, $wynik, PREG_SET_ORDER );
  9.  
  10. foreach ( $wynik as $v )
  11. {
  12. if ( $v[2] == 'DIR' && $v[4] != 'Parent Directory' )
  13. {
  14. mkdir( $aktualny_folder . '/' . substr( $v[3], 0, -) );
  15. print "Utworzono folder " . $aktualny_folder . '/' . substr( $v[3], 0, -1 ) . "<br />n";
  16. zarznijserwery( $url . $v[3], $aktualny_folder . '/' . substr( $v[3], 0, -) );
  17. }
  18. elseif ( $v[2] != 'DIR' )
  19. {
  20. copy( $url . $v[3], $aktualny_folder . '/' . $v[3] );
  21. print "Skopiowano " . $url . $v[3] . " do " . $aktualny_folder . '/' . $v[3] . "<br />n";
  22. }
  23. }
  24. }
  25.  
  26. zarznijserwery( 'http://localhost/test/' );
  27. ?>

Przy kopiowaniu nie uwzględnia daty utworzenia pliku.
Zamiast funkcji: file(), copy() należy użyć bardziej wyrafinowanych metod.
Na moim lokalhoscie działa:) Testowałem na tym samym folderze co mam skrypt i wyszło mi coś takiego:
Kod
mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror/mirror

chodziło by w nieskończoność gdyby nie zabezpieczenia windowsowe;)
Cytat(mike @ 28.06.2007, 20:57:56 ) *
A poza tym od razu przyznaj (podejrzewam to na 99%), że chcesz kogoś okraść.

Wszelkie materiały zamieszczone w tym poście mają charakter tylko i wyłącznie szkoleniowy. Autor nie bierze odpowiedzialności za wykorzystanie powyższych materiałów do celów niezgodnych z prawem Polskim.*

*To tak na wszelki wypadek jak by prokurator chciał mi dać współudział.
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 18:50