由於php curl 資料傳輸對多維資料貌似不支援,簡單的辦法就是講多維陣列轉化為json操作
$data['author'] = $this->getpost('author');
$data['article_category'] = $this->getpost('categroy');
$data['image'] = $this->getpost('thumb');
$data['image_2'] = $this->getpost('image');
$data['status'] = 1;
$data['allow_comment'] = 0;
$data['sort_order'] = 0;
$data['article_store'] = array('0');
$data['article_description']['2'] = array(
'name' => $this->getpost('title'),
'tag' => $this->getpost('tags'),
'title' => $this->getpost('description'),
'meta_keyword' => $this->getpost('tags'),
'meta_description' => $this->getpost('description'),
'content' => $content,
);$url = 'index.php?route=article/api';
$curl = curl_init();
curl_setopt($curl, curlopt_url, $url);
curl_setopt($curl, curlopt_ssl_verifypeer, false);
curl_setopt($curl, curlopt_ssl_verifyhost, false);
if (!empty($data))
curl_setopt($curl, curlopt_returntransfer, 1);
//獲取json格式的返回結果
$output = curl_exec($curl);
curl_close($curl);
//對結果進行json解析
$output = json_decode($output,true);
// 由於php 的post預設不支援接受json資料格式,我們可以採用$globals['http_raw_post_data']來回去post資料
//如果不是post訪問,報錯
if ($this->request->server['request_method'] != 'post')
elseif (($this->request->server['request_method'] == 'post') && $this->validateform_api($post)) }else else
$data['info'] = false;
}//對返回值進行json編碼並輸出
echo json_encode($data);
關鍵點1:curl不支援多維資料,要講陣列轉化為json格式傳輸
關鍵點2:curl傳輸json需要額外定義資料傳輸格式
關鍵點3:通過 $globals[『http_raw_post_data』] 獲取post過來的json資料
php 通過curl從url獲取JSON資料
我試圖通過curl連線從url獲取json資料.當我開啟鏈結時 它顯示.現在,我希望獲得以上內容.到目前為止我使用了這個 loginurl ch curl init curl setopt ch,curlopt ssl verifypeer,false curl setopt ch,curlopt ...
php 通過curl上傳檔案
php 通過curl 上傳檔案 fh fopen usr local share icon link.png r curl setopt ch,curlopt put,true curl setopt ch,curlopt infile,fh curl setopt ch,curlopt infil...
通過Curl 對url進行encode操作
最近做專案的時候,通過 gflags reload 時候 發現對於某些value中包含 中文等字元的支援不夠好,value被截斷了。經過分析後,發現程式對url切分是用 為標準的,如果value中帶有這樣的特殊字元,必然導致截斷。解決的方法也很簡單,框架預設對value進行進行了urldecode的...