PHP otwarcie i zapisanie obrazka na localu

Witam!

Mam taki oto kod:

<?

$handle = fopen("http://adres.pl/orbazek.png", "rb"); 

$fp = fopen("test.png", "wb");

$data = fread($handle, 8000);

fwrite($fp, $data);

fclose($fp);

fclose($handle);

?>

Pobiera obrazek, i zapisuje jego kawałek- reszta jest szara.

Co zrobić aby zapisał się cały?

otwiera tylko część, bo tylko cześć obrazka czytasz poprzez fread, w fread musiał byś podawać rozmiar całego pliku. Czy nie lepiej i łatwiej wykorzystać do tego funkcje takie jak imagecreatepng czy imagecreategif itd itd?