Есть несколько проблем;
Вы должны открыть свой файл для записи в двоичном режиме, то есть;
$fh = fopen("test.jpg", 'wb');
curl_exec возвращает bool (успех), а не содержимое файла, вместо этого файл должен быть передан в CURLOPT_FILE.
Вы должны установить имя пользователя / пароль, используя CURLOPT_USERPWD, хотя и не уверены, что URL-путь тоже может работать.
Вы должны установить CURLOPT_BINARYTRANSFER.
Рабочий образец;
$curl = curl_init();
$fh = fopen("fips.exe", 'wb');
curl_setopt($curl, CURLOPT_URL, 'ftp://ftp.sunet.se/pub/FreeBSD/tools/fips.exe');
curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FILE, $fh);
curl_setopt($curl, CURLOPT_USERPWD, 'anonymous:olle');
$result = curl_exec($curl);
fclose($fh);
curl_close($curl);