Конечно, вы можете сделать это. Я не уверен, что вы можете использовать cURL для POST, хотя. Вам нужно изучить его методы, чтобы узнать, позволит ли он вам перезвонить для следующего куска данных.
http://curl.haxx.se/libcurl/php/examples/callbacks.html
$ch = curl_init();
curl_set_opt($ch, CURLOPT_HEADERFUNCTION, 'read_header');
curl_set_opt($ch, CURLOPT_WRITEFUNCTION, 'read_body');
function read_header($ch, $data) {
// Ok, so the header is going to come in here.
// I assume you will need data, such as MIME type and what not.
print_r($data);
return strlen($data); //This means that we handled it, so cURL will keep processing
}
function read_body($ch, $data) {
// This is where the body of the content will be, in chunks.
// This function will be called multiple times.
print_r($data);
return strlen($data); //Again, if we don't do this, cURL will cancel.
}
Теперь для отправляющей части, похоже, вам придется самостоятельно реализовать HTTP с помощью fsockopen
. Дополнительную информацию смотрите здесь: PHP Как отправить необработанный HTTP-пакет