微信有2个ACCESS_TOKEN,

1,基础接口的token 获取接口是

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
2,用户网页授权access_token 获取接口地址是

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

网页授权access_token 需要通过code去获取

code是怎么来的,是通过调用下面接口来获取的

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

注意这个接口中有个参数scope 默认有2个值snsapi_base和snsapi_userinfo,这个接口会根据scope 来生成不同的code并且获取不同作用的access_token ,不管scope传什么值都能在得到对应access_token的同时得到open_id, 如果你只需要得到opend_id 那使用snsapi_base参数到此结束了,如果需要获取用户的其他信息比如 昵称 地址 就要snsapi_userinfo 会弹出授权

3 怎么获取用户信息那就调用下面接口

https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN

很明显这个接口中的access_token是第二步获取code的时候scope 参数传snsapi_userinfo来换取的access_token

4 微信还有一个获取用户基本信息的接口 但是 这个接口需要你关注了公众号

https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN (此接口的access_token 是接口基础调用access_token 不是网页授权access_token)

微信的解释:是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。

最近做一个项目  不同平台下  需要unionID为唯一。之前做过users表中做过openid,现在要做一下unionID

– – 创建unionid

ALTER TABLE `users`
ADD COLUMN `unionid` varchar(40) NULL COMMENT ‘微信unionid’ AFTER `openid`;

alter table users add unique key unionid(unionid,plat);

1. 使用方式:ln [option] source_file dist_file
-f 建立时,将同档案名删除.
-i 删除前进行询问.
ln -s abc cde 建立abc 的软连接
ln abc cde 建立abc的硬连接,
2. 软链接与硬链接的区别(通俗):

硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件

ln -s /root/a/ /root/b/

Linux 软连接与硬连接

对于一个文件来说,有唯一的索引接点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件的啊,文件夹、新加的硬盘 …都可以看着文件来处理的啊。

连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows下的快捷方式。

不可以对文件夹建立硬连接的,我们通常用的还是软连接比较多。

eg:

ln -s source dist # 建立软连接

ln -s /mnt/hgfs/ /home/luo/ 注意后面的“/” 是将目录里所有的文件链接过去,必须加上,否则,建立的目录显示颜色异常,还不能正常访问,如cd 进不去

ln source dist # 建立硬连接

软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬联接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。

(1)软连接可以 跨文件系统 ,硬连接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 。ln aa.txt /root/bb 失败 。

(2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加,只要结点的连接数不是 0,文件就一直存在,不管你删除的是源文件还是 连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件任何一个的时候 ,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.

(3)软连接可以对一个不存在的文件名进行连接 。

(4)软连接可以对目录进行连接。

备注:I节点 :它是UNIX内部用于描述文件特性的数据结构.我们通常称I节点为文件索引结点(信息结点).i节点含有关于文件的大部分的重要信息,包括文件数据块在磁盘上的地址.每一个I节点有它自己的标志号,我们称为文件顺序号.I节点包含的信息 1.文件类型 2.文件属主关系 3.文件的访问权限 4.文件的时间截.

print_r ( $array/$var )
print 是打印的意思,而r则取自Array的单词,那么该函数的功能就是打印数组内容,它既可以打印数组内容,也可以打印普通的变量。
print_r ($_REQUEST) ;
print_r ($_GET) ; /* 打印使用GET方法传递的表单内容*/
print_r($_POST) ; /* 打印使用表单POST方法传递过的数组内容*/
2、 var_dump ($object/$array/$var)
var 代表变量(Variable),变量包括对象、数组以及标量变量,dump有倒出之意,加在一块,就是将变量或对象的内容全部输出出来。
var_dump($DB) ; /*打印$DB数据库连接对象的内容*/
var_dump($fileHandle) ; /*打印文件句柄对象的内容*/
var_dump($Smarty) ; /*打印Smarty模板对象*/
var_dump($DB,$Smarty,$fileHandle) ; /*打印多个变量*/
3、 var_export($object/$array/$var ,[bool ] )
输出或返回一个变量的字符表示。此函数返回关于传递给函数的变量的结构信息,它和print_r()类似,不同的是其返回的表示是合法的PHP代码。可以通过将函数的第二个参数设置为TRUE,从而返回变量的表示。
看下面代码:
<?php
$a = array (1,2, array(“a”,”b”,”c”)) ;
var_export ($a) ;
echo “<br>” ;
$v = var_export ($a , TRUE) ;
echo $v ;
?>
上例中,$v = var_export ( $a , TRUE) 表示返回的是PHP的源代码,可以直接用PHP脚本的数组文件中。
总结说明:
以上三个函数都可以打印对象的值、系统函数值以及数组的内容;
1、 echo 、print、printf可以打印变量内容,但不能显示数组及系统超级变量数组;
2、 print_r 和 var_dump不仅可以打印数组、标量变量,还可以打印对象的内容;
3、 var_dump语句不仅能打印变量、数组内容,还可以显示布尔变量和资源(Resource)的内容;
4、var_export 函数返回关于传递给该函数的变量的结构信息,和 var_dump()函数类似,不同的是其返回的内容是合法的PHP代码。