php setcookie介绍与实例应用

 更新时间:2016年11月25日 17:32  点击:1654
cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。

cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。

必须在任何其他输出发送前对 cookie 进行赋值。

如果成功,则该函数返回 true,否则返回 false。

语法
setcookie(name,value,expire,path,domain,secure)

*/
$cookieinfo=session_get_cookie_params();        //获取cookie信息
if((empty($cookieinfo['domain']))&&(empty($cookieinfo['secure'])))    //检查结果是否为空
{
  setcookie(session_name(),'',time()-3600,$cookieinfo['path']);     //设置cookie
}
elseif(empty($cookieinfo['secure']))          //检查选项是否为空
{
  setcookie(session_name(),'',time()-3600,$cookieinfo['path'],$cookieinfo['domain']); //设置cookie
}
else
{
  setcookie(session_name(),'',time()-3600,$cookieinfo['path'],$cookieinfo['domain'],$cookieinfo['secure']);                //设置cookie
}
//session_destroy();             //注销session
print_r($_session);
print_r($_cookie);

//利用session_set_cookie_params可以设置生存期及路径

session_set_cookie_params(0,'/yourpath/');      //设置cookie的生存期及路径


/*

注释:可以通过 $http_cookie_vars["user"] 或 $_cookie["user"] 来访问名为 "user" 的 cookie 的值。

注释:在发送 cookie 时,cookie 的值会自动进行 url 编码。接收时会进行 url 解码。如果你不需要这样,可以使用 setrawcookie() 代替。

*/

语法
header(string,replace,http_response_code)参数 描述
string 必需。规定要发送的报头字符串。
replace 可选。指示该报头是否替换之前的报头,或添加第二个报头。

默认是 true(替换)。false(允许相同类型的多个报头)。
 
http_response_code 可选。把 http 响应代码强制为指定的值。(php 4 以及更高版本可用)


header() 函数向客户端发送原始的 http 报头。

认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 php 4 以及更高的版本中,您可以使用输出缓存来解决此问题):


*/
header("x-sample-test:foo");       //发送http标头
header('content-type:text/plain');      //发送http标头
var_dump(headers_list());        //返回已发送的标头列表

if(!headers_sent())          //如果标头没有发送
{
  header('location:http://www.example.com/');     //发送标头
  exit;            //结束php代码
}
if(!headers_sent($filename,$linenum))      //如果没有输出指定文件
{
  header('location:http://www.example.com/');     //发送标头
  exit;            //结束php代码
}
else             //如果已经输出到指定文件
{
  echo "headers already sent in $filename on line $linenumn".
  "cannot redirect,for now please click this <a".
  "href="http://www.example.com">link</a>insteadn";   //输出提示信息
  exit;            //结束php代码
}
/*
注释:从 php 4.4 之后,该函数防止一次发送多个报头。这是对头部注入攻击的保护措施。

*/

session_start(), session_register(),session_unregister(),
session_is_registered(),session_destroy函数.
session_start():启用session机制,在需要用到session的程序文件的最开始调用它.
session_register():注册session变量
session_unregister(): 删除session变量(一个一个删除)
session_is_registered(): 判断session变量是否注册
session_distroy(): 销毁所有session变量(所有session变量销毁)

初始化session
实例1
*/
session_start();
//删除所有的session变量值
$_session=array();
if(isset($_cookie[session_name()]))
{
  setcookie(session_name(),'',time()-42000,'/');
}
//注销所有的session
session_destroy();

/*
实例2
*/

session_start();             //初始化session
$a=5;              //定义变量
session_register('a');            //注册session
session_decode("<session that doesn't have a as a session variable>");  //解密字符串
print (session_is_registered('a')?$_session[a]:'not registered' );     //判断变量是否注册


/*
实例3
*/

/*初始化session*/
session_start();
$_session['login_ok']=true;        //定义session值
$_session['nome']='sica';        //定义session值
$_session['inteiro']=34;         //定义session值
$result=session_encode();        //对session值加密
echo $result;           //输出结果
session_destroy();          //注销所有session值

/*
实例4
*/

session_start();         //初始化session
$_session['name']="yoursession";     //注册一个session变量
if(!isset($_session['initiated']))     //如果某个值没有被设定
{
  session_regenerate_id();      //获取当前的session id
  $_session['initiated']=true;      //设定值为真
}
session_destroy();        //注销session

//实例5

session_start();         //初始化session
$_session['name']="yoursession";     //注册一个session变量
if(session_is_registered(name))     //进行判断
{
  echo "指定的变量已经被注册为session<br>";  //输出内容
}
else
{
  echo "指定的变量没有被注册为session<br>";  //输出相应结果
}
session_destroy();        //注销session
?>

本文章主要是介绍在php目录操作函数 is_dir,rd_dir,mkdir等常用的目录操作函数实例介绍。

function dir_writeable($dir)      //自定义函数扩展功能,建立可写的目录
{
  if(!is_dir($dir))        //如果给定的参数不是目录
  {
    @mkdir($dir,0777);       //创建目录
 echo "目录".$dir."建立成功!";
  }
}
dir_writeable("test");        //调用自定义函数,建立test目录
/*
执行本代码将会在当前目录建立名为:test的目录,同时将输出:
目录test建立成功
*/

$dir="test";        //定义目录
if(rmdir($dir))        //如果成功删除目录
{
   echo "目录".$dir."被成功删除!";    //输出内容
}
else
{
  echo "删除目录".$dir."时,出现错误!";
}

//

$path="test.txt";        //定义路径
echo $path;         //输出处理前的
$realpath=realpath($path);      //将指定绝对路径规范化输出
echo "<br>";
echo $realpath         //输出处理后的结果

//看一完整理实例

function dir_writeable($dir)     //建立自定义函数扩展功能
{
  if(!is_dir($dir))       //如果给定参数不是目录
  {
    @mkdir($dir,0777);      //创建目录
  }
  if(is_dir($dir))
  {
    if($fp=@fopen("$dir/test.txt",'w'))    //以写方式打开指定路径下的文件,如果不存在就创建
    {
      @fclose($fp);       //关闭文件句柄
      @unlink("$dir/test.txt");     //删除文件
      $writeable=1;       //定义返回值为真
    }
    else
    {
      $writeable=0;       //定义返回值为假
    }
  }
  return $writeable;       //返回值
}          //自定义函数结束

ord() 函数返回字符串第一个字符的 ascii 值。

语法
ord(string)
*/
$str="h";            //定义字符
$result=ord($str);          //求其ascii码
echo "字符".$str."的ascii码为:".$result;     //输出的结果,72

[!--infotagslink--]

相关文章

  • phpems SQL注入(cookies)分析研究

    PHPEMS(PHP Exam Management System)在线模拟考试系统基于PHP+Mysql开发,主要用于搭建模拟考试平台,支持多种题型和展现方式,是国内首款支持题冒题和自动评分与教师评分相...2016-11-25
  • JS使用cookie实现DIV提示框只显示一次的方法

    本文实例讲述了JS使用cookie实现DIV提示框只显示一次的方法。分享给大家供大家参考,具体如下:这里运用JavaScript的cookie技术,控制网页上的提示DIV只显示一次,也就是当用户是第一次打开网页的时候才显示,第二次自动隐藏起...2015-11-08
  • PHP中SSO Cookie登录分析和实现

    什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
  • 浅析Promise的介绍及基本用法

    Promise是异步编程的一种解决方案,在ES6中Promise被列为了正式规范,统一了用法,原生提供了Promise对象。接下来通过本文给大家介绍Promise的介绍及基本用法,感兴趣的朋友一起看看吧...2021-10-21
  • PHP中SSO Cookie登录分析和实现

    什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
  • vue项目中js-cookie的使用存储token操作

    这篇文章主要介绍了vue项目中js-cookie的使用存储token操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-14
  • 什么是cookie?js手动创建和存储cookie

    什么是cookie? cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。 有关cookie的例子: 名字 cookie 当访...2014-05-31
  • JS跨浏览器解析XML应用过程详解

    这篇文章主要介绍了JS跨浏览器解析XML应用过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-16
  • python爬虫用request库处理cookie的实例讲解

    在本篇内容里小编给大家整理的是一篇关于python爬虫用request库处理cookie的实例讲解内容,有需要的朋友们可以学习参考下。...2021-02-21
  • PHP中print_r、var_export、var_dump用法介绍

    文章详细的介绍了关于PHP中print_r、var_export、var_dump区别比较以及这几个在php不同的应用中的用法,有需要的朋友可以参考一下 可以看出print_r跟var_export都...2016-11-25
  • Framewrok7 视图介绍(views、view)使用介绍

    下面我们来看一篇关于Framewrok7 视图介绍(views、view)使用介绍吧,希望这篇文章能够帮助到各位朋友。 一、Views 与View的介绍 1,Views (<div class="views">) (1)Vi...2016-10-02
  • vivo X9如何查出后台偷跑流量应用?vivo X9查出后台偷跑流量应用的方法

    vivo X9如何查看后台流量偷跑的情况?小编教你轻松查到!还不了解的小伙伴快来看看吧! 1)打开手机自带的【i管家】应用,打开后点击【流量监控】选项。(如下图) 2)接着选...2016-12-31
  • 基于C#后台调用跨域MVC服务及带Cookie验证的实现

    本篇文章介绍了,基于C#后台调用跨域MVC服务及带Cookie验证的实现。需要的朋友参考下...2020-06-25
  • PHP云存储Redis的应用场景与Redis实现排行榜功能

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。本文我们来讲解Redis的应用场景实例。 C...2016-11-25
  • Monolog PHP日志类库使用详解介绍

    PHP日志类库在低版本中我们都没有看到了但在高版本的php中就有了,下面我们来看一篇关于PHP日志类库使用详解介绍吧. Monolog遵循PSR3的接口规范,可以很轻易的替换...2016-11-25
  • chrome监听cookie变化与赋值问题

    这篇文章主要介绍了chrome监听cookie变化与赋值问题,cookie监听与赋值操作需要manifest文件里声明权限问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-10-22
  • PHP explode()函数的几个应用和implode()函数有什么区别

    explode()函数介绍explode() 函数可以把字符串分割为数组。语法:explode(separator,string,limit)。 参数 描述 separator 必需。规定在哪里分割字符串。 string...2015-11-08
  • PHP Libevent扩展安装配置及简单应用

    Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,下文我们就一起来看PHP Libevent扩展安装...2016-11-25
  • php中echo <<< 的应用

    <? $a="变量的值将被带入"; echo <<< help <pre> php中echo <<< 的应用 虽然echo "...";可以断行,但若其中如出现",则仍需做转义 处理。需写做: echo " ...2016-11-25
  • php获取当前url地址的方法介绍

    这篇文章介绍了php获取当前url地址的方法小结,有兴趣的同学可以参考一下 本文实例讲述了php获取当前url地址的方法。分享给大家供大家参考,具体如下: js 获取: ...2017-01-22