zoukankan      html  css  js  c++  java
  • 半吊子菜鸟学Web开发 -- PHP学习2-正则,cookie和session

    1正则表达式

    1.1基本的匹配字符串

    $p = '/apple/';
    $str = "apple banna";
    if (preg_match($p, $str)) {
        echo 'matched';
    }
    

    1.2 preg_match

    只能匹配一次结果,但很多时候我们需要匹配所有的结果,preg_match_all可以循环获取一个列表的匹配结果数组。

    $p = "|<[^>]+>(.*?)</[^>]+>|i";
    $str = "<b>example: </b><div align=left>this is a test</div>";
    preg_match_all($p, $str, $matches);
    print_r($matches);
    

    1.3 preg_replace 去掉多余的空格

    $str = 'one     two';
    $str = preg_replace('/s+/', ' ', $str);
    echo $str; //
    

    1.4用preg_quote进行转义

    $p = 'http://';
    $p = '/'.preg_quote($p, '/').'/';
    echo $p;
    

    2 session与cookie

    2.1设置cookie

    1. name( Cookie名)可以通过$_COOKIE['name'] 进行访问

    2. value(Cookie的值)

    3. expire(过期时间)Unix时间戳格式,默认为0,表示浏览器关闭即失效

    4. path(有效路径)如果路径设置为'/',则整个网站都有效

    5. domain(有效域)默认整个域名都有效,如果设置了'www.imooc.com',则只在www子域中有效

    $value = 'test';
    setcookie("TestCookie", $value);
    setcookie("TestCookie", $value, time()+3600);  //有效期一小时
    setcookie("TestCookie", $value, time()+3600, "/path/", "imooc.com"); //设置路径与域
    

    2.2 cookie的删除与过期时间

    php中没有cookie的删除函数

    setcookie('test', '', time()-1);
    

    这样做只要cookie有效时一间过期,cookie就会自动失效

    用header方法来设置

    header("Set-Cookie:test=1393832059; expires=".gmdate('D, d M Y H:i:s GMT', time()-1));
    

    gmdate,用来生成格林威治标准时间,以便排除时差的影响。

    2.3 cookie的有效路径

    默认cookie在'/'路径下有效,在设置'/path'以后,只能在设定的路径下有效

    setcookie('test', time(), 0, '/path');
    

    2.4 session的使用

    session可以支持任意数据类型

    session_start();
    //设置一个session
    $_SESSION['test'] = time();
    $_SESSION['ary'] = array('name' => 'jobs');
    $_SESSION['obj'] = new stdClass();
    

    2.5 session的删除与销毁

    删除session中的某个值可以用unset()函数

    unset($_SESSION['name']);
    

    如果要删除整个session,就需要用到session_destory()函数

    session_start();
    $_SESSION['ary'] = array('name' => 'jobs');
    unset($_SESSION);//这句话在需要立即销毁session中用到
    session_destory();
    

    2.6 session来存储用户的登录信息

    用户在登录成功以后,通常可以将用户的信息存储在session中,一般的会单独的将一些重要的字段单独存储,然后所有的用户信息独立存储。

    $_SESSION['uid'] = $userinfo['uid'];
    $_SESSION['userinfo'] = $userinfo;
    
  • 相关阅读:
    exp 和imp 与expdp / impdp 区别
    nginx优化
    nginx root alias proxypass
    mysql3
    logrotate 用法
    SQL执行顺序
    http与RPC的关系
    docker
    windows 时间同步
    Java生成指定长度的随机字符串
  • 原文地址:https://www.cnblogs.com/daibigmonster/p/8150646.html
Copyright © 2011-2022 走看看