Самый простой способ, вероятно, будет использовать http://username:password@host/path/file с fopen (если включены обертки URL), но если вам это не нравится, я бы использовал curl. Не проверено, но это должно быть что-то вроде:
$out = fopen($localfilename, 'wb');
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FILE, $out);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
curl_exec($ch);
curl_close($ch);
fclose($out);
$ localfilename должен содержать локальный файл, в который вы хотите записать, имя пользователя: пароль должен быть заменен на действительное имя пользователя и пароль, используемые для базовой аутентификации, разделенные столбцом (:).