-
在PHP中删除cookie也是采用setcookie函数来实现。
setcookie('test', '', );
可以看到将cookie的过期时间设置到当前时间之前,则该cookie会自动失效,也就达到了删除cookie的目的。
之所以这么设计是因为cookie是通过HTTP的标头来传递的,客户端根据服务端返回的Set-Cookie段来进行cookie的设置,如果删除cookie需要使用新的Del-Cookie来实现,则HTTP头就会变得复杂。
我们也可以直接通过header来删除cookie。
header("Set-Cookie:test=1393832059; expires=".gmdate('D, d M Y H:i:s \G\M\T', time()-1));
这里用到了gmdate,用来生成格林威治标准时间,以便排除时差的影响。
查看全部 -
PHP设置Cookie最常用的方法就是使用setcookie函数。
setcookie具有7个可选参数,我们常用到的为前5个:
name( Cookie名)可以通过$_COOKIE['name'] 进行访问
value(Cookie的值)
expire(过期时间)Unix时间戳格式,默认为0,表示浏览器关闭即失效
path(有效路径)如果路径设置为'/',则整个网站都有效
domain(有效域)默认整个域名都有效,如果设置了'www.imooc.com',则只在www子域中有效PHP中还有一个设置Cookie的函数setrawcookie,setrawcookie跟setcookie基本一样,唯一的不同就是value值不会自动的进行urlencode,因此在需要的时候要手动进行urlencode。
setrawcookie('cookie_name', rawurlencode($value), time()+60*60*24*365);
因为Cookie是通过HTTP标头进行设置的,所以也可以直接使用header方法进行设置。
header("Set-Cookie:cookie_name=value");
查看全部 -
function __construct(){
print "构造函数被调用 \n";
}
function __destruct(){
print "析构函数被调用 \n";
}
"__"下划线为两条‘-’小短线连接而成
查看全部 -
//定义一个类
class Car {
var $name = '汽车';
function getName() {
return $this->name;
}
}
//实例化一个car对象
$car = new Car();
$car->name = '奥迪A6'; //设置对象的属性值
echo $car->getName(); //调用对象的方法 输出对象的名字
查看全部 -
$arr = array('apple'=>'苹果');
查看全部 -
$fruit=array('苹果','香蕉','菠萝');
foreach($fruit as $key=>$value){
echo '<br>第'.$key.'值是:'.$value;
}
查看全部 -
$arr0=$arr['0'];
查看全部 -
类的创建
class car{
}
$car = new car();
查看全部 -
主键要用中括号 $arr[0]='p';
主键和内容也可以这样子表达 $arr=array('0'=>'p');
查看全部 -
创建数组,并且输出的编码:
$fruit=array("p","x","b");
print_r($fruit);
查看全部 -
Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据。
Cookie通过HTTP headers从服务端返回到客户端。因为Cookie是存在于HTTP的标头之中,所以必须在其他信息输出以前进行设置,类似于header函数的使用限制。
PHP通过setcookie函数进行Cookie的设置,任何从浏览器发回的Cookie,PHP都会自动的将他存储在$_COOKIE的全局变量之中,因此我们可以通过$_COOKIE['key']的形式来读取某个Cookie值。
<?php setcookie('test', time()); ob_start(); print_r($_COOKIE); $content = ob_get_contents(); $content = str_replace(" ", ' ', $content);//str_replace将空格替换为空格符号 ob_clean(); header("content-type:text/html; charset=utf-8"); echo '当前的Cookie为:<br>'; echo nl2br($content);
在使用会话Session时通常使用Cookie来存储会话id来识别用户,Cookie具备有效期,当有效期结束之后,Cookie会自动的从客户端删除。同时为了进行安全控制,Cookie还可以设置域跟路径。
查看全部 -
print_r()与var_dump()的区别
查看全部 -
用正则替换来去掉多余的空格与字符:
$str = 'one two'; $str = preg_replace('/\s+/', ' ', $str); echo $str; // 结果改变为'one two'
查看全部 -
更加精确地替换目标字符串的内容。
$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/', '/^\s*{(\w+)}\s*=/'); $replace = array ('\3/\4/\1\2', '$\1 =');//\3等效于$3,\4等效于$4,依次类推 echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27'); //结果为:$startDate = 5/27/1999 //详细解释下结果:(19|20)表示取19或者20中任意一个数字,(\d{2})表示两个数字,(\d{1,2})表示1个或2个数字,(\d{1,2})表示1个或2个数字。^\s*{(\w+)}\s*=表示以任意空格开头的,并且包含在{}中的字符,并且以任意空格结尾的,最后有个=号的。
查看全部 -
我们可以简单地调整字符串的日期格式:
$string = 'April 15, 2014'; $pattern = '/(\w+) (\d+), (\d+)/i'; $replacement = '$3, ${1} $2'; echo($pattern, $replacement, $string); //结果为:2014, April 15
其中${1}与$1的写法是等效的,表示第一个匹配的字串,$2代表第二个匹配的。
查看全部
举报