Como enviar arquivos via cURL em PHP

Se você precisar fazer upload de um arquivo para um serviço usando cURL, basta anexar um símbolo de arroba (@) a uma string contendo o caminho do arquivo.

Por exemplo:

//Initialise the cURL var
$ch
= curl_init();

//Get the response from cURL
curl_setopt
($ch, CURLOPT_RETURNTRANSFER, 1);

//Set the Url
curl_setopt
($ch, CURLOPT_URL, 'http://www.example.org/');

//Create a POST array with the file in it
$postData
= array(
'testData' => '@/path/to/file.txt',
);
curl_setopt
($ch, CURLOPT_POSTFIELDS, $postData);

// Execute the request
$response
= curl_exec($ch);

Isso enviará o conteúdo de /path/to/file.txt até example.org.
A parte importante do código acima é

$postData = array(
'testData' => '@/path/to/file.txt',
);