Pessoal estou tentando realizar um put com um json utilizando a biblioteca curl, mas só consigo fazer um por vez. Existe alguma forma de fazer isso usando a biblioteca Curl do php? Segue o código fonte funcionando, mas o curl não está aceitando um array m
Pessoal estou tentando realizar um put com um json utilizando a biblioteca curl, mas só consigo fazer um por vez. Existe alguma forma de fazer isso usando a biblioteca Curl do php? Segue o código fonte funcionando, mas o curl não está aceitando um array multidimensional.
*****************************
<?php
Pergunta
arlindophp
Pessoal estou tentando realizar um put com um json utilizando a biblioteca curl, mas só consigo fazer um por vez. Existe alguma forma de fazer isso usando a biblioteca Curl do php? Segue o código fonte funcionando, mas o curl não está aceitando um array multidimensional.
*****************************
<?php
function doPut($url, $fields)
{
$fields = (is_array($fields)) ? http_build_query($fields) : $fields;
if ($ch = curl_init($url)) {
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($fields)));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_exec($ch);
//$resp = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return (int) $status;
} else {
return false;
}
}
session_start();
$s_chave = $_POST['edtChave'];
$_SESSION['s_chave'] = $s_chave;
$edtChave = $_POST['edtChave'];
$edtCultura = $_POST['edtCultura'];
$edtPraga = $_POST['edtPraga'];
$edtDose = $_POST['edtDose'];
$edtEspecificacao = $_POST['edtEspecificacao'];
$edtAplicaTerrestre = $_POST['edtAplicaTerrestre'];
$edtAplicarea = $_POST['edtAplicarea'];
$edtIntseg = $_POST['edtIntseg'];
$edtIntEntrada = $_POST['edtIntEntrada'];
$edtDadosGerais = $_POST['edtDadosGerais'];
$url = "www.api.site.com";
echo 'Url = ' . $url;
echo '<br>';
$data_array2 = array();
for ($i = 0; $i < 5; $i++) {
$montagem_array = array(
'cultura' => $_POST['edtCultura'],
'praga' => $_POST['edtPraga'],
'dose' => $_POST['edtDose'],
'especificacao' => $_POST['edtEspecificacao'],
'aplicaterrestre' => $_POST['edtAplicaTerrestre'],
'aplicaerea' => $_POST['edtAplicarea'],
'intseg' => $_POST['edtIntseg'],
'intentrada' => $_POST['edtIntEntrada'],
'dadosgerais' => $_POST['edtDadosGerais'],
);
$data_array2[$i] = $montagem_array;
}
//$json = json_encode($data_array2);
echo '<br>';
echo 'Array convertido para formato json: ' . json_encode($data_array2);
echo '<br>';
//$data = $array_para_string;
//echo $data.'+cultura=asdf&praga=asdf&dose=dasf&especificacao=sadf&aplicaterrestre=sadf&aplicaerea=asdf&intseg=2&intentrada=1&dadosgerais=sdaf';
$header = array(
'Authorization: falkdsjçlaskf'
);
//Nova tentativa 07/01/2022
if (doPut($url, $data_array2) == 200) {
echo 'Passou!';
echo '<br>';
echo json_encode($data_array2);
echo '<br>';
}
// do something
else {
echo 'Não deu certo';
echo '<br>';
echo json_encode($data_array2);
echo '<br>';
}
//Nova tentativa
//header('location:jsonpostprodutobula_teste.php');
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.