On 03/28/2012 07:40 PM, Alex Ardalich wrote: > $params = array( > 'http' => array( > 'method' => 'POST', > 'header' => 'Content-type: > application/x-www-form-urlencoded', > 'content' => $data > ));
This is certainly the wrong content-type. You want a multipart content type since uploads generally can't work url encoded. > $postargs = array( > 'user' => 'aardalich', > 'pass' => 'BluesPacer', > 'content' => $content, > 'attachment_1' => $attachment_1 > ); You probably want to change that password now... > // get the curl session object > $session = curl_init($request); > > // set the POST options > curl_setopt ($session, CURLOPT_POST, true); > curl_setopt ($session, CURLOPT_POSTFIELDS, $postargs); > curl_setopt($session, CURLOPT_HEADER, true); > curl_setopt($session, CURLOPT_RETURNTRANSFER, true); > curl_setopt( $session, CURLOPT_HTTPHEADER, array( 'Expect:' ) ); I don't know enough about the PHP curl interface to tell if the POST is getting constructed correctly by this code. Since it doesn't work, however, I suspect it's subtly wrong. > Expect I'm not grabbing the raw file correctly, or encoding it or > something. Unsure of how. The POST data needs to be a multipart MIME entity. Look at the other language examples of POSTing attachment_1 on the wiki page I linked to. For debugging, capture the request that's actually sent by your code over the network. For figuring out what the POST is supposed to look like, capture what /opt/rt4/bin/rt sends when you submit a comment with an attachment. Thomas