cURL / Mailing Lists / curl-and-php / Single Mail

curl-and-php

Re: Hi + Multipart/Post question

From: Simon Yorkston <simon_at_ice.org>
Date: Thu, 03 Nov 2005 22:05:46 +1000

Ah, thankyou.
That expains it. Silly PHP/Curl :D

Daniel Stenberg wrote:

> On Thu, 3 Nov 2005, Simon Yorkston wrote:
>
>> curl_setopt($ch, CURLOPT_POSTFIELDS,
>> "category[1][]=orange&category[1][]=blue&category[1][]=green");
>
>
> This makes a plain normal post and not a multipart one.
>
>> But I can't include the file in that string. I tried with
>> &file=@file, and @file=file_get_contents($uploadedFile); - neither
>> of which work
>>
>> Alternatively, I can try
>> $this->post['file'] = @$filename;
>> $this->post['category[1][]'] = 'red';
>> $this->post['category[1][]'] = 'blue';
>> $this->post['category[1][]'] = 'yellow';
>> curl_setopt($ch, CURLOPT_POSTFIELDS, $this->post);
>>
>> Which will upload the file, and set category to 'yellow' - but
>> obviously not all three.
>
>
> The PHP/CURL multipart formpost API is rather... eh, silly, if you ask
> me and is very limited. This is just one of its drawbacks: you cannot
> send several parts using the same name.
>
>> $this->post['file'] = @$filename;
>> curl_setopt($ch, CURLOPT_POSTFIELDS,
>> "category[1][]=orange&category[1][]=blue&category[1][]=green");
>> curl_setopt($ch, CURLOPT_POSTFIELDS, $this->post);
>
>
> You can only set one CURLOPT_POSTFIELDS.
>
>> Anyone have any ideas?
>
>
> Yes, use the curl command line tool (from your PHP script). It can do
> this just fine, using the -F option.
>
_______________________________________________
http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php
Received on 2005-11-03