Ответ API получен с простым php файлом, но не получен ответ в цикле codeigniter - PullRequest
1 голос
/ 29 января 2020

ответ API получен с простым файлом php, но не получен ответ в codeigniter l oop

работает нормально в простом файле php, но не работает в codeigniter l oop .. даже с теми же параметрами

простой php код файла (получение ответа):

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.easyship.com/rate/v1/rates");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, CURLOPT_POST, TRUE);

curl_setopt($ch, CURLOPT_POSTFIELDS, "{
  \"origin_country_alpha2\": \"US\",
  \"origin_postal_code\": \"10001\",
  \"destination_country_alpha2\": \"US\",
  \"destination_postal_code\": \"01032\",
  \"taxes_duties_paid_by\": \"Sender\",
  \"is_insured\": false,
  \"items\": [
    {
      \"actual_weight\": 8,
      \"height\": 8,
      \"width\": 2.1,
      \"length\": 2.8,
      \"category\": \"health_beauty\",
      \"declared_currency\": \"SGD\",
      \"declared_customs_value\": 100
    }
  ]
}");

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  "Content-Type: application/json",
  "Authorization: Bearer <access_token>"
));

$response = curl_exec($ch);
curl_close($ch);

var_dump($response);

codeigniter код файла (код в порядке, но не получен ответ):

foreach($this->data['crtres'] as $crs){

   $prodqry="SELECT * FROM `ci_products` WHERE `prod_id`='".$crs->product_id."'";
   $prodres=$this->home->customQuery($prodqry);

   $prodcatqry="SELECT * FROM `ci_prod_categories` WHERE `prod_cat_id`='".$prodres[0]->prod_cat_id."'";
   $prodcatres=$this->home->customQuery($prodcatqry);

   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, "https://api.easyship.com/rate/v1/rates");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
   curl_setopt($ch, CURLOPT_HEADER, FALSE);
   curl_setopt($ch, CURLOPT_POST, TRUE);

   switch($prodcatres[0]->prod_cat_name) {
       case 'Home':
       $espc = 'home_appliances';
       break;

       case 'Beauty':
       $espc = 'health_beauty';
       break;    

       default:
       $espc = 'others';
       break;
   }

   $optString = '{
     \"origin_country_alpha2\": \"US\",
     \"origin_postal_code\": \"10001\",
     \"destination_country_alpha2\": \"US\",
     \"destination_postal_code\": \"'.$this->input->post('shipping_zipcode').'\",
     \"taxes_duties_paid_by\": \"Sender\",
     \"is_insured\": false,
     \"items\": [
     {
          \"actual_weight\": '.$prodres[0]->prod_weight.',
          \"height\": '.$prodres[0]->prod_height.',
          \"width\": '.$prodres[0]->prod_width.',
          \"length\": '.$prodres[0]->prod_length.',
          \"category\": \"'.$espc.'\",
          \"declared_currency\": \"USD\",
          \"declared_customs_value\": '.$crs->product_quantity.'
      }
     ]
    }';

    curl_setopt($ch, CURLOPT_POSTFIELDS, $optString);

    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Content-Type: application/json",
        "Authorization: Bearer <access_token>"
    ));

    $response = curl_exec($ch);
    curl_close($ch);

    $response = json_decode($response);

    $ratesDetArr = $response->rates;

    $shiptot += $ratesDetArr[0]->total_charge;   
}

, пожалуйста, предложите мне изменения

В чем разница в обоих, пожалуйста, дайте мне идею для решения этой проблемы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...