PHP: отправить файл, скачанный с сервера1, post запросом на сервер2?
// читаем файл
$fileString = file_get_contents('http://server1.ru/file1.jpg');

// подготавливаем POST
$params = array('http' => array(
   'method' => 'POST',
   'content' => $fileString
));
$context = stream_context_create($params);

// посылаем POST, получаем отклик
if($remote = @fopen('http://server2.ru/filesend.php', 'rb', false, $context)){
   $response = @stream_get_contents($remote);
}

Первоисточник метода: «HTTP POST from PHP, without cURL» (автор Wez Furlong, код опубликован 15 ноября 2006 г., модернизирован 23 мая 2010 г.).
Интересно, что сначала упоминается два сервера и взаимодействие между ними. А в конце вспоминается про какой-то «клиент».

Может вообще не надо с этими запросами мучиться. Отдать второму серверу-рецепиенту ссылку на картинку — пусть он сам скачает. Так не будут нагружаться скрипты сервера-донора (если давать прямую ссылку на картинку), и можно на втором сервере организовать очередь закачки картинок с первого сервера, если таких картинок, одновременно загружаемых, будет очень много.