Tengo problemas para publicar datos de formulario a través de CURL en un script PHP que se encuentra en un host diferente.Contabilización de matriz multidimensional con PHP y CURL
Me aparece un error Array to string conversion
Ésta es print_r
de la matriz que lo pongo:
Array
(
[name] => Array
(
[0] => Jason
[1] => Mary
[2] => Lucy
)
[id] => 12
[status] => local
[file] => @/test.txt
)
Esta es la línea que el error se produce en:
curl_setopt($this->ch, CURLOPT_POSTFIELDS, $post);
El tercer argumento debe ser una matriz porque necesito que el encabezado Content-Type
se establezca en multipart/form-data
ya que estoy enviando un archivo a través de esta misma matriz, por lo tanto, no puedo convertir la matriz a una cadena de consulta o usar http_build_query()
.
Además, no tengo acceso al código en el host receptor, así que no puedo serializar y deserializar la matriz.
estoy suponiendo que el valor de la clave nombre ser un array es la causa de este error, también estoy asumiendo que CURLOPT_POSTFIELDS
no admite matrices multidimensionales. ¿Hay alguna otra forma de evitar esto o estoy condenado?
¡Gracias de antemano!
Gracias! Realmente no sabía que podía hacer esto. Agregué 'CURLOPT_HTTPHEADER' y pasé mi matriz a' http_build_query() '. ¡Trabajo hecho! –
Gracias por mencionar 'http_build_query()'. ¡Funcionó como un encanto para mí! – mccbala
En mi caso, esto no funciona. El error es ** Advertencia: Falta el límite en datos POST multipart/form-data en Desconocido en la línea 0 **. Lo que funcionó para mí fue [esta publicación] (http://stackoverflow.com/a/8224117/1057527) de Khristenko Yura – machineaddict