| Autor | Zpráva | ||
|---|---|---|---|
| nethor Profil |
#1 · Zasláno: 27. 1. 2013, 14:21:08
Zdravím, pokouším se odeslat vícerozměrné pole pomocí Curl metodou $_POST.
vnořené pole je však převedeno na string "Array". Na netu jsem našel pouze řešení pomocí serialize() / unserialize(), tomu bych se ale rád vyhnul, někdy bývá problém, myslím s \(backslash) a data nejdou rozbalit. Mám podezření, že mi uniká nějaké nastavení curl_setopt. Jde to nějak provést? použitý kód: $init = curl_init();
curl_setopt( $init, CURLOPT_URL, EXPORT );
curl_setopt( $init, CURLOPT_HTTPHEADER, array("Content-type: multipart/form-data"));
curl_setopt( $init, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt( $init, CURLOPT_POST, 1 );
curl_setopt( $init, CURLOPT_POSTFIELDS, $data );
$exec = curl_exec( $init );
PS: zvláštní je, že $data = array( 'a' => 'jedna', 'b' => 'dva', 'c[d]' => 'tři', 'c[e]' => 'čtyři' ); projde OK.
|
||
| Jan Tvrdík Profil |
#2 · Zasláno: 27. 1. 2013, 14:29:35
nethor:
To bude hádám tím, že HTTP protokol nic jako pole přenášet neumí. Takže bude pravděpodobně potřeba použít ten zápis uvedený dole. |
||
| nethor Profil |
#3 · Zasláno: 27. 1. 2013, 14:30:10 · Upravil/a: nethor
PS:
Metoda $_POST není podmínkou, v podstatě jen potřebuji odeslat víceroměrné pole na jiný server. Jan Tvrdík: Normální odeslání post formuláře přeci snad jde přes http a přenáší pole , ba i soubory. Zápis uvedený dole je jen příklad, dat je mnohem víc musím je zpracovat hromadně. |
||
| Jan Tvrdík Profil |
#4 · Zasláno: 27. 1. 2013, 14:42:31
nethor:
Nikoliv. Z pohledu HTTP protokolu nemají položky c[d] a c[e] nic společného. To, že jsou interpretovány jako pole je záležitost PHP.
|
||
|
Časová prodleva: 13 let
|
|||
0