Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [curl] Przesyłanie tablic wielowymiarowych metodą POST
Athlan
post 25.09.2007, 15:18:55
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


Problem dotyczy CURL'a. Mam tabliczkę:

  1. <?php
  2. $this->_aDataPost = array('test' => array('test' => array('test' => array('test' => 'a'))));
  3. ?>


Wysyłam ją po czym w dumpie $_POST otrzymuje:

Kod
array(1) { ["test"]=> string(5) "Array" }


CURL nie przekazuje podtablic drugiego poziomu?

Zaserializeować danych też nie mogę, bo przy stringach UTF-8 jest bug i zwraca false.

-- EDIT --

W specyikacji HttpRequest też jest takie coś:
Cytat
Associative array of POST values

http://www.php.net/manual/pl/function.http-post-fields.php
Czyli ni wałka przesłać tych danych sad.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sedziwoj
post 25.09.2007, 22:58:17
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Z komentarzy do curl_setopt" title="Zobacz w manualu PHP" target="_manual
<?php
function data_encode($data, $keyprefix = "", $keypostfix = "") {
assert( is_array($data) );
$vars=null;
foreach($data as $key=>$value) {
if(is_array($value)) $vars .= data_encode($value, $keyprefix.$key.$keypostfix.urlencode("["), urlencode("]"));
else $vars .= $keyprefix.$key.$keypostfix."=".urlencode($value)."&";
}
return $vars;
}

curl_setopt($ch, CURLOPT_POSTFIELDS, substr(data_encode($_POST), 0, -1) );

?>


--------------------
Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 16:41