微信小程序——外部PHP,插入數據和上傳文件(其他類推)

插入數據

<?php
//獲取Token
function getToken(){  
    $AppId = 'XXX';  
    $AppSecret = 'XXX';  
    $getUrl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$AppId.'&secret='.$AppSecret;  
    $ch = curl_init( $getUrl);  
    curl_setopt($ch, CURLOPT_HEADER, 0);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
   	curl_setopt($ch, CURLOPT_SSLVERSION, 1);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  
    $data = curl_exec($ch);  
    $response = json_decode($data);  
    return $response->access_token;  
} 

//post提交數據
function post(){  
    $access_token = getToken();
    $customMessageSendUrl = 'https://api.weixin.qq.com/tcb/databaseadd?access_token='.$access_token;
    $params = json_encode(array(
		'env' => 'XXX', 
		'query' => 'db.collection(\"集合名\").add({data:[{item:\"XXXXXXXXXX\",}]})',//這一段可以參考API給的示例
        ));
    $ch = curl_init($customMessageSendUrl);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
		'Content-Type: application/json'
	));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $params);    
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  
    $data = curl_exec($ch);
    var_dump($data);  
}

post();
?>

上傳文件

<?php

//獲取Token
function getToken(){  
    $AppId = 'XXX';  
    $AppSecret = 'XXX';  
    $getUrl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$AppId.'&secret='.$AppSecret;  
    $ch = curl_init($getUrl);  
    curl_setopt($ch, CURLOPT_HEADER, 0);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
	curl_setopt($ch, CURLOPT_SSLVERSION, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  
    $data = curl_exec($ch);  
    $response = json_decode($data);  
    return $response->access_token;  
} 

//第一次訪問,獲取上傳鏈接
//path:需要上傳的路徑,以我爲例,根目錄爲7465-test-yeqfk-XXXXXXX/books,只需要從books開始寫即可
function post_first(){  
    $access_token = getToken();
    $customMessageSendUrl = 'https://api.weixin.qq.com/tcb/uploadfile?access_token='.$access_token;
    $params = json_encode(array(
		'env' => 'test-yeqfk', 
		'path' => 'books',
        )); 
    $ch = curl_init($customMessageSendUrl);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
		'Content-Type: application/json'
	));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $params);    
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  
    $data = curl_exec($ch);
	$response = json_decode($data);
    return $response;  
}

//第二次訪問,上傳文件
function post_second(){
	$response = post_first();
	$filename = 'test.pdf';//上傳後保存的名稱
	$filepath = '@C:/phpStudy/PHPTutorial/WWW/pdf/test.pdf';//需要上傳文件了路徑
    $params = array(
		'key' => 'books/'.$filename, 
		'Signature' => $response->authorization,
		'x-cos-security-token' => $response->token,
		'x-cos-meta-fileid' => $response->cos_file_id,
		'file' => $filepath,
        );
	$ch = curl_init($response->url);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
		'Content-Type:multipart/form-data'
	));
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
	curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
	$data= curl_exec($ch);
	var_dump($data);
	curl_close($ch);
}

post_second();
?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章