PHP相关方法SESSION/COOKIE

PHP方法

1. 字符串常用方法:

获取

substr(string,strart,len);
mb_substr(string,start,len,"utf-8");

从start截取len位字符

strstr(string,str);

 截取str后面的字符

 strrchr(string,str);

 从后面查找str,并截取后面的字符

替换

 str_replace(search,replace,string);

 用replace替换search字符

计算

 strlen( )

 获取字符串长度

strpos(string,str,start);

查找字符串str出现的位置

strrpos(string,str);

从后面查找str出现的位置

2. 时间

需要配置时间 php.ini 中的 date.timezone = PRC

  • time( ) 获取1970-1-1至今的秒数

<?php
    echo date("Y-m-d H:i:s",time()),"<br>";
?>
  • date("Y-m-d H:i",time());

显示格式为 2008-12-01 12:01
格式化时间戳

  • strtotime("2021-10-20");

    通过字符串转换为时间戳

例子:
// 如果在3分钟以内,返回:刚刚  
    // 如果在30天以内,返回:若干分钟前、若干小时前、若干天前,如:5分钟前  
    // 如果在30天以上,返回:日期字符,如:2017-01-01  
    function forDate($d){
        // 计算分差(传入事件与当前时间分差)
        $dis = (time()-strtotime($d))/60;//分钟
        // 小于3分钟就是刚刚
        if($dis<=3){
            return "刚刚";
        }elseif($dis<60){
            return (int)($dis)."分钟前";
        }elseif($dis<24*60){
            return (int)($dis/60)."小时前";
        }elseif($dis<24*60*30){
            return (int)($dis/60/24)."天前";
        }else{
            return $d;
        }
    }
    echo forDate("2021-10-20");

3. http全局数组

  • $_GET[ ]------获取所有get请求的参数

  HTTP GET 方式不仅是用于表单数据发送,它是指更广泛的以实体的方式得到由请求 URL         (浏览器地址)所指定资源的信息

//获取的GET参数
//q1 默认0 q2默认是q1+100
//产生随机一个 q1 到q2的整数
isset($_GET["q1"])?$q1=$_GET["q1"]:$q1=0;
isset($_GET["q2"])?$q2=$_GET["q2"]:$q2=$q1+100;
$num = rand($q1,$q2);
echo "<br/>$num<br/>";

 提示:

  1. GET 方式会把表单数据暴露在浏览器地址栏里,因此不宜发送敏感数据(如密码等),敏感信息发送请使用 POST 方式。
  2. GET 方式对发送的信息量有一定限制,如果发送较大的信息,请使用POST 方式。
  3. GET 方式访问的页面可以加入收藏夹而在以后可以直接访问,而 POST 方式访问的页面则不能。

  • $_POST[ ]------获取所有的post请求参数

//可以像访问普通数组一样方便的访问 $_POST 变量:
<?php
echo '您的称呼是:',$_POST["nickname"]; 
?>
//模拟登陆案例$_POST
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
  <?php
    $list = array("沐沐"=>123,"贝贝"=>123,"点点"=>"456");
  if(isset($_POST["user"])&&isset($_POST["pwd"])){
        $user = $_POST["user"];
        $pwd = $_POST["pwd"];
        if(array_key_exists($user,$list)){
            if($list[$user]==$pwd){     
                echo "<script>alert('登录成功!');</script>";
            }else{            
                echo "<script>alert('用户名或密码错误')</script>";
            }
        }else{
            echo "<script>alert('用户名未注册')</script>";
        }      
  }
 ?>
 <h1>登录</h1>
<form action="" method="POST">
    用户名: <input type="text" name="user"><br>
    密&emsp;码: <input type="password" name="pwd"/><br>
    &emsp;&emsp;&emsp; <input type="submit" value="登录">
</form>
</body>
</html>
 
  • $_REQUEST[ ]------获取所有的请求

        在 PHP 中还预定义了 $_REQUEST 变量,它包含了 $_POST 、$_GET 、和 $_COOKIE .         其访问方式同 $_POST 等:

<?php
echo $_REQUEST["nickname"]    //输出用户输入的称呼
echo $_REQUEST["id "];
?>

4. jsonp方法

  • jsonp_encode()------数组转jsonp

        PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 

 语法:string json_encode ( $value );

实例 PHP 数组转换为 JSON 格式数据:
<?php
   $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);
?>

//以上代码执行结果为:
{"a":1,"b":2,"c":3,"d":4,"e":5}

  • json_decode()------字符串转数组

  PHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。

语法:

mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]]);

 参数:

  • son_string : 待解码的 JSON 字符串,必须是 UTF-8 编码数据
  • assoc : 当该参数为 TRUE 时,将返回数组,FALSE 时返回对象。
  • depth : 整数类型的参数,它指定递归深度
  • options : 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING 
//实例 解码 JSON 数据:
<?php
   $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

   var_dump(json_decode($json));
   var_dump(json_decode($json, true));
?>

//以上代码执行结果为:
object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}
array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}
 

5. header方法

header("Content-type:application/json");------返回 json格式

header("Content-type:text/html;charset=utf-8");------返回html格式指定编码

6. seesion方法

  • session是用来保持客户端与服务器端会话的

  • session的值存储在服务器

  • session是通过cookie来传递给客户端

//案例:
//当前用户浏览页面的次数
!isset($_SESSION["view"])?$_SESSION["view"]=1:$_SESSION["view"]=$_SESSION["view"]+1;
echo "页面的浏览次数为",$_SESSION["view"],"<br>";

7. cookie

  • cookie是存储在客户端的数据,可以设置过期时间

  • 服务器或者客户端都可以修改和设置cookie

  • 每次http请求都会自动携带cookie

  • http响应也会携带cookie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值