My Little World

cookie和session

cookie

设置cookie

1
2
3
4
5
6
7
8
9
bool setcookie  (
string $名字
[, string $值]
[, int $过期时间 = 0]
[, string $路径]
[, string $域名]
[, bool $安全 = false]
[, bool $http只读 = false]
);

参数 描述
$名字 必需。规定 cookie 的名称。
$值 可选。规定 cookie 的值。
$有效期 可选。规定 cookie 的有效期。
$路径 可选。规定 cookie 的服务器路径。
$域名 可选。规定 cookie 的域名。
$安全 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。
$http安读 可选。如果true,那么js就无法读取改cookie,增加安全性。

在服务端通过$_COOKIE[‘name’] 来读取cookie了。

使用cookie例子

session

session_start(); //开启session
$_SESSION[‘userName’] = ‘wang’; //添加session数据
$userName = $_SESSION[‘userName’]; //读取session数据
unset($_SESSION[‘XXX’]);//销毁单个session数据
$_SESSION = array();//销毁全部session数据
session_destory();//这个函数会销毁当前会话中的全部数据,并结束当前会话,但是不会重置当前会话所关联的全局变量,也不会重置会话 cookie

在php.ini配置文件中有这么一行 session.save_handler = files,
files,说明了php默认的是用文件读写的方式来保存session的
session.save_path = “/tmp”, “/tmp”即存储路径

使用session例子

curl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, "http://www.php.cn");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
//打印获得的数据
print_r($output);
?>

函数 curl_setopt
参数1 curl资源变量
参数2 curl参数选项
参数3 curl参数值

CURLOPT_URL 这个参数选项规定了请求的url地址。
CURLOPT_RETURNTRANSFER curl请求后返回对应的结果 若需要返回值即为1。不需请求后返回的结果可设置为0。

如果是get请求,我们不需要设置发送的参数。在post等请求的时候,我们需要设置发送方法为post方法。并设置发送的数据。
CURLOPT_POST 值设为1是使用POST方法,0为不使用POST方法
CURLOPT_POSTFIELDS 设置传递的数据
//声明使用POST方式来进行发送
curl_setopt($ch, CURLOPT_POST, 1);
//发送什么数据呢
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

如果是https有的时候需要忽略https的安全证书。

CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST 两个参数改为false即忽略了证书。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
CURLOPT_HEADER 决定是是否处理http的头信息,不接收处理的话可将这个值设置为0。
CURLOPT_TIMEOUT 设置请求的超时时间

$output = curl_exec($ch); 如果执行的结果有数据。使用curl_exec执行后,会将结果返回给$output变量。
curl_close($ch); 关闭curl资源。
curlget 截取页面例子
curlpost例子