Изображение повреждено после php curl transfer FTP

Я использую следующий код для передачи изображения, и он работает, за исключением того, что jpg поврежден после передачи. Указывает неверный формат изображения и показывает размытое изображение.

Я попытался использовать обычный php без завитки и получить те же результаты.

Кто-нибудь знает, почему все, что я пробовал, работает, но развращает image.jpg

$curl = curl_init(); $fh = fopen("test.jpg", 'w'); curl_setopt($curl, CURLOPT_URL, "ftp://{$serverInfo['user']}: {$servererInfo['password']}@{$serverInfo['ftp1.server.com']}/{$serverInfo['For_Web/Web Images/Full Size/00-99/file']}"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); fwrite($fh, $result); fclose($fh); curl_close($curl);` 

Solutions Collecting From Web of "Изображение повреждено после php curl transfer FTP"

Есть несколько проблем;

Вы должны открыть файл для записи в двоичном режиме;

 $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);