为了账号安全,请及时绑定邮箱和手机立即绑定

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
学习人数
综合评分8.90
570人评价 查看评价
9.3 内容实用
8.8 简洁易懂
8.6 逻辑清晰
  • \ 一般用于转义字符
    ^ 断言目标的开始位置(或在多行模式下是行首)
    $ 断言目标的结束位置(或在多行模式下是行尾)
    . 匹配除换行符外的任何字符(默认)
    [ 开始字符类定义
    ] 结束字符类定义
    | 开始一个可选分支
    ( 子组的开始标记
    ) 子组的结束标记
    ? 作为量词,表示 0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性。 (查阅量词)
    * 量词,0 次或多次匹配
    + 量词,1 次或多次匹配
    { 自定义量词开始标记
    } 自定义量词结束标记

    查看全部
    0 采集 收起 来源:元字符与转义

    2018-05-02

  • 正则表达式中常用的模式修正符有i、g、m、s、x、e等。它们之间可以组合搭配使用。
    它们的作用如下:
    //修正符:i 不区分大小写的匹配;
    //修正符:g表示全局匹配
    //修正符:m 将字符串视为多行,不管是那行都能匹配;
    //修正符:s 将字符串视为单行,换行符作为普通字符;
    //修正符:x 将模式中的空白忽略;
    //修正符:A 强制从目标字符串开头匹配;
    //修正符:D 如果使用$限制结尾字符,则不允许结尾有换行;
    //修正符:U 只匹配最近的一个字符串;不重复匹配;
    //修正符:e 配合函数preg_replace()使用,可以把匹配来的字符串当作正则表达式执行;

    采纳

    查看全部
  • $fruit = array("苹果","香蕉","菠萝"); 注意数组的键是从0开始的。可以使用print_r($fruit);语句输出数组键及对应的值。

    查看全部
  • PHP通过setcookie函数进行Cookie的设置,任何从浏览器发回的Cookie,PHP都会自动的将他存储在$_COOKIE的全局变量之中,因此我们可以通过$_COOKIE['key']的形式来读取某个Cookie值。 PHP中的Cookie具有非常广泛的使用,经常用来存储用户的登录信息,购物车等,且在使用会话Session时通常使用Cookie来存储会话id来识别用户,Cookie具备有效期,当有效期结束之后,Cookie会自动的从客户端删除。同时为了进行安全控制,Cookie还可以设置域跟路径
    查看全部
    0 采集 收起 来源:cookie简介

    2018-05-02

  • 因为$xx=$arr[0]和$xx=$arr["0"]结果一样是在前提是数组是索引数组,若是要输出关联数组的第一个键值,你若不给键加引号就无法输出了,所以为了不必要的失误和麻烦,请保持给键值加引号的好习惯。

    查看全部
  • 执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。

    $uid = mysql_insert_id();


    查看全部
  • 关于limit一般形式是  limit n,m

    表示从结果中n行开始取,一共取m行; 注意其中n是从0开始,即第一行的n为0。
    limit 后只有一个数字 例如limit a   是(从结果第一行开始)取a行,等价于limit 0,a
    例如 limit 2,3  表示取结果中的第3、4、5行
        limit 2 表示取第1、2行

    查看全部
  • 设置cookie

    PHP设置Cookie最常用的方法就是使用setcookie函数,setcookie具有7个可选参数,我们常用到的为前5个:

    name( Cookie名)可以通过$_COOKIE['name'] 进行访问
    value(Cookie的值)
    expire(过期时间)Unix时间戳格式,默认为0,表示浏览器关闭即失效
    path(有效路径)如果路径设置为'/',则整个网站都有效
    domain(有效域)默认整个域名都有效,如果设置了'www.imooc.com',则只在www子域中有效


    查看全部
    0 采集 收起 来源:设置cookie

    2018-04-30

  • 文档上的解释为:如果提供了参数 matches ,它将被填充为搜索结果。 $matches[0] 将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。
    文档上对于子组的说明为:子组通过圆括号分隔界定,并且它们可以嵌套。
    如果正则表达式写为$p = '/\w+\s\w+/';,则没有子组,$matches[1]为空,而$matches[0]包含所匹配的文本;但是将表达式加上括号写为$p = '/(\w+\s\w+)/';,则有了子组,此时$matches[1]与$matches[0]相同。

    查看全部
  • <?php
    header('content-type:text/html;charset=utf-8');
    //自定义的异常类,继承了PHP的异常基类Exception
    class MyException extends Exception {
        function getInfo() {
            return '自定义错误信息';//函数封装的自定义的异常信息
        }
    }
    
    try {
        //使用异常的函数应该位于 "try"  代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
        throw new MyException('自定义de信息');//括号里面为自定义错误信息(手动输入),这里规定如何触发异常。注意:每一个 "throw" 必须对应至少一个 "catch",当然可以对应多个"catch"
    } catch(Exception $e) {//"catch" 代码块会捕获异常,并创建一个包含异常信息的对象
       // echo $e->getInfo();//获取自定义的异常信息(函数内的)
        echo $e->getMessage();//获取继承自基类的getMessage信息


    查看全部
  • Try - 使用异常的函数应该位于 "try"  代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
    Throw - 这里规定如何触发异常。注意:每一个 "throw" 必须对应至少一个 "catch",当然可以对应多个"catch"
    Catch - "catch" 代码块会捕获异常,并创建一个包含异常信息的对象。

    //创建可抛出一个异常的函数
    function checkNum($number){
         if($number>1){
             throw new Exception("异常提示-数字必须小于等于1");
         }
         return true;
     }
     
    //在 "try" 代码块中触发异常
     try{
         checkNum(2);
         //如果异常被抛出,那么下面一行代码将不会被输出
         echo '如果能看到这个提示,说明你的数字小于等于1';
     }catch(Exception $e){
         //捕获异常
         echo '捕获异常: ' .$e->getMessage();
     }

    上面代码将获得类似这样一个错误:

    捕获异常:: 异常提示-数字必须小于等于1

    例子解释:

    上面的代码抛出了一个异常,并捕获了它:

    创建 checkNum() 函数。它检测数字是否大于 1。如果是,则抛出一个异常。
    在 "try" 代码块中调用 checkNum() 函数。
    checkNum() 函数中的异常被抛出
    "catch" 代码块接收到该异常,并创建一个包含异常信息的对象 ($e)。
    通过从这个 exception 对象调用 $e->getMessage(),输出来自该异常的错误消息


    查看全部
  • PHP使用unlink函数进行文件删除。

    unlink($filename);

    删除文件夹使用rmdir函数,文件夹必须为空,如果不为空或者没有权限则会提示失败。

    rmdir($dir);

    如果文件夹中存在文件,可以先循环删除目录中的所有文件,然后再删除该目录,循环删除可以使用glob函数遍历所有文件。

    foreach (glob("*") as $filename) {
       unlink($filename);
    }


    查看全部
  • 两种写入内容到文件的方式:

    1、file_put_contents(file,string);

    2、fwrite(file,string);

    查看全部
  • 函数封装:

    function getsize($size, $format = 'kb') {
        $p = 0;
        if ($format == 'kb') {
            $p = 1;
        } elseif ($format == 'mb') {
            $p = 2;
        } elseif ($format == 'gb') {
            $p = 3;
        }
        $size /= pow(1024, $p);//指数表达式,1024^$p次幂
        return number_format($size, 3);格式化数字,保留3位小数
    }
    $filename = '/data/webroot/usercode/code/resource/test.txt';
    $size = filesize($filename);
    $size = getsize($size, 'kb'); //进行单位转换
    echo $size.'kb';


    查看全部
  • 代码:

    <?php
    session_start();
    //假设用户登录成功获得了以下用户数据
    $userinfo = array(
        'uid'  => 10000,
        'name' => 'spark',
        'email' => 'spark@imooc.com',
        'sex'  => 'man',
        'age'  => '18'
    );
    header("content-type:text/html; charset=utf-8");
    /* 将用户信息保存到session中 */
    $_SESSION['uid'] = $userinfo['uid'];
    $_SESSION['name'] = $userinfo['name'];
    $_SESSION['userinfo'] = $userinfo;
    //* 将用户数据保存到cookie中的一个简单方法 */
    $secureKey = 'imooc'; //加密密钥
    $str = serialize($userinfo); //将用户信息序列化
    //用户信息加密前
    $str = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), $str, MCRYPT_MODE_ECB));
    //用户信息加密后
    //将加密后的用户数据存储到cookie中
    setcookie('userinfo', $str);
    //当需要使用时进行解密
    $str = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), base64_decode($str), MCRYPT_MODE_ECB);
    $uinfo = unserialize($str);
    echo "解密后的用户信息:<br>";
    print_r($uinfo);


    查看全部

举报

0/150
提交
取消
课程须知
需要有一定的网页基础知识如HTML、CSS样式等,并且已经学习完成《PHP入门篇》对PHP已经有了简单的了解,如变量、常量、数据类型等。
老师告诉你能学到什么?
全面的掌握PHP的理论知识与实践中的应用方法,提高编程能力与掌握网页开发技能。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!