Ir para conteúdo

POWERED BY:

Como realizar put com a biblioteca curl com um array múltiplo

Comunidade iMasters
arlindophp
   (0 análises)

Detalhes do Evento


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');


Recommended Comments

Não há comentários para mostrar.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.