9
votes

Publier une matrice multidimensionnelle à l'aide de CURL et obtenez le résultat sur le serveur

J'envoie des données de ma machine locale au serveur à l'aide de CURL code>. Et les données sont une matrice multidimensionnelle.

Array
(
[0] => Array
[1] => Array
[2] => Array
)


0 commentaires

3 Réponses :


25
votes

CURL ne peut accepter qu'un tableau simple à la valeur de clé à valeur unique où les valeurs sont des chaînes, il ne peut pas prendre un tableau comme le vôtre qui est une gamme d'objets. Cependant, cela accepte une chaîne de données prête à l'emploi, de sorte que vous puissiez créer vous-même la chaîne vous-même et transmettre cela à la place: xxx

A print_r ($ _ post) sur le La réception de la fin affichera: xxx


3 commentaires

Merci d'avoir répondu, que vous sachiez quand je l'intégrerai dans mon code. J'ai une autre question, j'ai essayé avec l'envoi de la matrice, mais à la réception de la fin, il donne la même sortie Array ([0] => Array [1] => Array [2] => Array)


Oui, Curl ne peut pas prendre une gamme de tableaux ou un éventail d'objets, il ne peut que prendre un tableau unidimensionnel de chaînes, à moins que vous ne construisiez que les données de poste manuellement (comme dans la réponse).


Merci MRCode aujourd'hui j'ai mis en œuvre votre code et cela fonctionne maintenant comme je le voulais. Merci encore.



3
votes

Je vais donner un coup de suite Serialize et non désériorize:

1) Avant d'envoyer votre tableau, sérialisez-le (et définissez votre mode de transfert sur binaire): P>

$array = unserialize($_POST);


1 commentaires

Génial, mais il n'a pas fonctionné de cette façon, je devais curl_setopt ($ ch, curlopt_postfields, tableau ("Data '=> Serialize ($ matry))); , puis $ $ = ($ _Post ['"données']);



3
votes
$sub_array= json_decode($_POST['sub_array']);

1 commentaires

Eh bien, je ne me souviens pas de savoir si j'ai essayé de cette façon. Mais peut être utile pour les autres utilisateurs. :)