<?php
function zarznijserwery( $url, $aktualny_folder = 'mirror' )
{
preg_match_all( '|<img src="(.*)" alt="[(.*)]"> <a href="(.*)">(.*)</a>|', $html, $wynik, PREG_SET_ORDER
);
foreach ( $wynik as $v )
{
if ( $v[2] == 'DIR' && $v[4] != 'Parent Directory' )
{
mkdir( $aktualny_folder . '/' . substr( $v[3
], 0
, -1
) ); print "Utworzono folder " . $aktualny_folder . '/' . substr( $v[3], 0, -1 ) . "<br />n"; zarznijserwery
( $url . $v[3
], $aktualny_folder . '/' . substr( $v[3
], 0
, -1
) ); }
elseif ( $v[2] != 'DIR' )
{
copy( $url . $v[3
], $aktualny_folder . '/' . $v[3
] ); print "Skopiowano " . $url . $v[3] . " do " . $aktualny_folder . '/' . $v[3] . "<br />n"; }
}
}
zarznijserwery( 'http://localhost/test/' );
?>
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ł.