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: 11 let
|
0