重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
大致的思路是這樣的:
創新互聯公司-成都網站建設公司,專注成都做網站、成都網站建設、網站營銷推廣,申請域名,網絡空間,成都網站托管有關企業網站制作方案、改版、費用等問題,請聯系創新互聯公司。
1.
通過微信的開放API獲取到二維碼,當然自己生成也是可以的
2.
用戶掃描二維碼后進入到一個連接下,這個連接中的代碼是使用開放API獲取用戶個人信息
只要去請求開放API的獲取個人信息接口,微信或自動跳轉到讓用戶授權給你的
微信公眾號
的界面,用戶授權以后你就可以顯示他的個人信息了
在剛入手PHP的時候,經理讓我自己做一個文章的管理系統為了方便管理微信端發的消息。除了簡單的添加分類、管理分類、添加文章、管理文章,還有一個功能就是要從微信文章網址中拿到網址上的標題、作者以及發表時間。
一、 頁面使用ajax
把微信頁面的地址放在文章鏈接里,點擊獲取,調用ajax。不說了,直接上代碼td文章鏈接:/td
tdinput type="text" id="url" name="url" size="50" input type="button" value="獲取" onclick="javascript:return getMsg()"http://td
復制代碼
function getMsg(){
var title=document.getElementById("title");var url=document.getElementById("url").value;var typeId;
var writer=document.getElementById("writer");var addtime=document.getElementById("addtime");//alert(url);die;
$.ajax({
url: '/addarticle/getmsg',
type: 'POST',
dataType:'text',
data: 'url='+url,
success: function(data)
{
var str=data;
var arr=new Array();//0是標題;1是時間;2是作者var result=str.split("");
for(var i=0;iresult.length;i++){
arr.push(result[i]);
}
title.value=arr[0];
addtime.value=arr[1];
writer.value=arr[2];
//alert(arr[0]);
},
error: function()
{
alert('請求錯誤');
}
});
}
復制代碼
二、在php頁面利用file_get_content函數獲取頁面全部信息該函數是將頁面中的所有內容寫在字符串中,想要拿到指定的內容,就用到了正則匹配。正則表達式的相關知識就不說了,直接說今天的內容。將結果放在同一個變量中,用特殊符號隔開,以便在視圖頁面進行分割并寫入文本框內。
復制代碼
public function actionGetmsg(){
$result=array();
$url=$_POST["url"];
$wx_content=file_get_contents($url);//利用函數獲得網址的內容$title_html="/.*?title(.*?)\/title.*?/";//正則匹配文章的標題preg_match($title_html, $wx_content, $matchs);echo $matchs[1]."";
//echo 'pre';var_dump($matchs);echo '/pre';//正則匹配文章的添加時間
$creattime_html="/.*?em id=\"post-date\" class=\"rich_media_meta rich_media_meta_text\"(.*?)\/em.*?/";preg_match($creattime_html, $wx_content, $matchs);// echo 'pre';var_dump($matchs);echo '/pre';echo $matchs[1]."";
//正則匹配文章的作者
$wxh_html="/.*?a class=\"rich_media_meta rich_media_meta_link rich_media_meta_nickname\" href=\"##\" id=\"post-user\"(.*?)\/a.*?/";preg_match($wxh_html, $wx_content, $matchs);// echo 'pre';var_dump($matchs);echo '/pre';echo $matchs[1]."";
}
復制代碼
三、同時大家可以看到圖片上時間那一欄,可以自己添加這里使用的是一個小控件,也就是一個js,WdatePicker.js。
首先在頁面的頭部引入js控件,在文本框中寫下以下代碼,點擊文本框就可以看到日歷形式的出現,選擇你需要的日期。
tdinput type="text" name="newsTime" id="addtime" onclick="WdatePicker({dateFmt:'yyyy:MM:dd HH:mm:ss'})" placeholder="請輸入文章發布時間" / /td
具體的WdatePicker.js可以在網上找一個。
用curl
GET方法:
??//初始化
$ch?=?curl_init();
//設置選項,包括URL
curl_setopt($ch,?CURLOPT_URL,?"");
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($ch,?CURLOPT_HEADER,?0);
//執行并獲取HTML文檔內容
$output?=?curl_exec($ch);
//釋放curl句柄
curl_close($ch);
//打印獲得的數據
print_r($output);
POST方法:
$url?=?"";
$post_data?=?array?("username"?=?"bob","key"?=?"12345");
$ch?=?curl_init();
curl_setopt($ch,?CURLOPT_URL,?$url);
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);
//?post數據
curl_setopt($ch,?CURLOPT_POST,?1);
//?post的變量
curl_setopt($ch,?CURLOPT_POSTFIELDS,?$post_data);
$output?=?curl_exec($ch);
curl_close($ch);
//打印獲得的數據
print_r($output);
步驟一:
獲取用戶信息需要”通過微信認證“ 請確認你是否有相應權限
步驟二:
獲取用戶基本信息,必須提供ACCESS_TOKEN和openid 兩個參數;id=mp1421140839
//正常情況下,微信會返回下述JSON數據包給公眾號:
{
"subscribe":?1,?
"openid":?"o6_bmjrPTlm6_2sgVt7hMZOPfL2M",?
"nickname":?"Band",?
"sex":?1,?
"language":?"zh_CN",?
"city":?"廣州",?
"province":?"廣東",?
"country":?"中國",?
"headimgurl":??"
eMsv84eavHiaiceqxibJxCfHe/0",
"subscribe_time":?1382694957,
"unionid":?"?o6_bmasdasdsad6_2sgVt7hMZOPfL"
"remark":?"",
"groupid":?0,
"tagid_list":[128,2]
}
步驟三:
獲取access_token 前需要配置IP白名單和相應設置讓其有正確的訪問權限
獲取access_token 需要三個參數
以下是成功案例:
;id=mp1421140183
微信服務器post數據是后臺進行的,你直接print并截斷是看不到信息的,另外post過來的數據是特殊的xml格式,可以寫入日志查看
給你簡單介紹幾個吧
一、file_get_contents函數
$content = file_get_contents("URL");//URL就是你要獲取的頁面的地址
二、利用curl擴展
代碼如下:
function getCurl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//不輸出內容
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
curl_close ($ch);
return $result;
}
PS:需要安裝PHP的curl擴展