PHP 编码函数

  • 熟悉php的编码和解码函数,自编php代码运行如下函数:

    • ASCII: ord()和chr()
      • ord(string) 将字符转为ascii码
      • chr(number) 将ascii转为字符
    • URL:urlencode()和 urldecode()
      • urlencode(string)编码 URL 字符串
        • 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,
        • 空格则编码为加号(+)。
        • 此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。
      • urldecode()解码已编码的 URL 字符串
        • Warning:
          超全局变量 GET _REQUEST 已经被解码了。对 GET _REQUEST 里的元素使用 urldecode() 将会导致不可预计和危险的结果
    • Base64: base64_encode()和base64_decode()

      • base64_encode(string)
        • 使用 base64 对 data 进行编码。
        • 设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。Base64-encoded 数据要比原始数据多占用 33% 左右的空间。
        • base64编码可参考base64
      • base64_decode(string)
        • 对使用 MIME base64 编码的数据进行解码
    • HTML实体:htmlspecialchars()和htmlspecialchars_decode()

      • htmlspecialchars(string)
        • 转义特别的字符为HTML实体;
        • 如’<hr>’ 则会直接输出‘<hr>’,而不是水平线
      • htmlspecialchars_decode(string)
        • 把 HTML 实体转换为字符
    • str_replace(find,replace,string,count)
      • 函数以其他字符替换字符串中的一些字符(区分大小写)
      • 该函数必须遵循下列规则
        </li>
        <li>如果搜索的字符串是数组,那么它将返回数组。</li>
        <li>如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。</li>
        <li>如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换</li>
        <li>如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。
    • md5(string,raw)
      • 计算字符串的 MD5 散列
      • 使用 RSA 数据安全,包括 MD5 报文摘要算法
      • 来自 RFC 1321 的解释 - MD5 报文摘要算法:MD5 报文摘要算法将任意长度的信息作为输入值,并将其换算成一个 128 位长度的”指纹信息”或”报文摘要”值来代表这个输入值,并以换算后的值作为结果。
      • MD5 算法主要是为数字签名应用程序而设计的;在这个数字签名应用程序中,较大的文件将在加密(这里的加密过程是通过在一个密码系统下[如:RSA]的公开密钥下设置私有密钥而完成的)之前以一种安全的方式进行压缩
      • 计算文件的 MD5 散列,使用 md5_file(file,raw) 函数
  • PHP超全局变量(PHP对大小写敏感)

    • PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
    • $GLOBALS
      • 用于在php脚本中de任意位置访问全局变量(函数中也可).php在$GLOBALS[index]的数组中存储了所有的全局变量,数组的key就是变量的名字
      • instance:

        <?php
        $x=9;
        $y=10;
        function addition()
        {
        return $GLOBALS['z']=$GLOBALS['x']+$GLOBALS['y'];
        }
        addition();
        echo $z;
        ?>
    • $_SERVER

      • 保存关于报头、路径和脚本位置的信息
      • 能够在 $_SERVER 中访问的最重要的元素
      元素/代码描述
      $_SERVER[‘PHP_SELF’]返回当前执行脚本的文件名。
      $_SERVER[‘GATEWAY_INTERFACE’]返回服务器使用的 CGI 规范的版本。
      $_SERVER[‘SERVER_ADDR’]返回当前运行脚本所在的服务器的 IP 地址。
      $_SERVER[‘SERVER_NAME’]返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。
      $_SERVER[‘SERVER_SOFTWARE’]返回服务器标识字符串(比如 Apache/2.2.24)。
      $_SERVER[‘SERVER_PROTOCOL’]返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
      $_SERVER[‘REQUEST_METHOD’]返回访问页面使用的请求方法(例如 POST)。
      $_SERVER[‘REQUEST_TIME’]返回请求开始时的时间戳(例如 1577687494)。
      $_SERVER[‘QUERY_STRING’]返回查询字符串,如果是通过查询字符串访问此页面。
      $_SERVER[‘HTTP_ACCEPT’]返回来自当前请求的请求头。
      $_SERVER[‘HTTP_ACCEPT_CHARSET’]返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
      $_SERVER[‘HTTP_HOST’]返回来自当前请求的 Host 头。
      $_SERVER[‘HTTP_REFERER’]返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
      $_SERVER[‘HTTPS’]是否通过安全 HTTP 协议查询脚本。
      $_SERVER[‘REMOTE_ADDR’]返回浏览当前页面的用户的 IP 地址。
      $_SERVER[‘REMOTE_HOST’]返回浏览当前页面的用户的主机名。
      $_SERVER[‘REMOTE_PORT’]返回用户机器上连接到 Web 服务器所使用的端口号。
      $_SERVER[‘SCRIPT_FILENAME’]返回当前执行脚本的绝对路径。
      $_SERVER[‘SERVER_ADMIN’]该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
      $_SERVER[‘SERVER_PORT’]Web 服务器使用的端口。默认值为 “80”。
      $_SERVER[‘SERVER_SIGNATURE’]返回服务器版本和虚拟主机名。
      $_SERVER[‘PATH_TRANSLATED’]当前脚本所在文件系统(非文档根目录)的基本路径。
      $_SERVER[‘SCRIPT_NAME’]返回当前脚本的路径。
      $_SERVER[‘SCRIPT_URI’]返回当前页面的 URI。
      • instance:
        <?php 
        echo $_SERVER['PHP_SELF'];
        echo "<br>";
        echo $_SERVER['SERVER_NAME'];
        echo "<br>";
        echo $_SERVER['HTTP_HOST'];
        echo "<br>";
        echo $_SERVER['HTTP_REFERER'];
        echo "<br>";
        echo $_SERVER['HTTP_USER_AGENT'];
        echo "<br>";
        echo $_SERVER['SCRIPT_NAME'];
        ?>
    • $_REQUEST

      • 用于收集 HTML 表单提交的数据
      • 以表单为例,在用户点击提交时,表单数据将发送到中action属性指定的脚本中.我们可使用$_REQUEST[INDEX]收集指定字段的数据
      • instance:
        <html>
        <body>
        
        <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
        Name: <input type="text" name="fname">
        <input type="submit">
        </form>
        
        <?php 
        $name = $_REQUEST['fname']; 
        echo $name; 
        ?>
        
        </body>
        </html>
    • $_POST

      • 广泛用于收集提交 method=”post” 的 HTML 表单后的表单数据。$_POST 也常用于传递变量
      • instance:

        <body>
        
        <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
        Name: <input type="text" name="fname">
        <input type="submit">
        </form>
        
        <?php 
        $name = $_POST['fname']; 
        echo $name; 
        ?>
        </body>
        </html>
    • $_GET
      • 用于收集提交 HTML 表单 (method=”get”) 之后的表单数据。
      • $_GET 也可以收集 URL 中的发送的数据。
    • $_FILES

      • 存储文件的相关信息
      • 和及相关函数配合使用用来上传各种文件
    • $_ENV

      • 是一个包含服务器端环境变量的数组
        $_SERVER['PATH']:环境变量 PATH 路径。
        $_SERVER['CLASSPATH']:系统 CLASSPATH 路径。
        $_SERVER['LIB']:系统 LIB 库路径。
        $_SERVER['INCLUDE']:系统 Include 路径,注意与 PHP 的包含路径是不一样的。
        $_SERVER['OS']:操作系统类型。
        $_SERVER['LANG']:系统语言,如 en_US 或 zh_CN。
        $_SERVER['PWD']:当前工作目录。
        $_SERVER['TEMP']:系统 TEMP 路径。
        $_SERVER['AP_PARENT_PID']:当前进程 ID 号。
        $_SERVER['NUMBER_OF_PROCESSORS']:系统 CPU 数目。
    • $_COOKIE
      • 储存cookie的信息,可通过$_COOKIE[‘name’]读取
      • setcookie()可以设置cookie
    • $_SESSION
      • 用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。
      • 会话信息是临时的,在用户离开网站后将被删除。如果您需要永久储存信息,可以把数据存储在数据库中。
      • Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
      • 在您把用户信息存储到 PHP session 中之前,首先必须启动会话(在标签之前)
      • 存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量
      • 删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

任务

初级
1、测验
        完成http://www.w3school.com.cn/quiz/quiz.asp?quiz=php测验;

2、学习编码相关函数
        熟悉php的编码和解码函数,自编php代码运行如下函数:
            ASCII: ord()和chr()
            URL:urlencode()和 urldecode()
            Base64: ase64_encode()和base64_decode()
            HTML实体:htmlspecialchars()和htmlspecialchars_decode()
            其他:str_replace()、md5()等


3、学习并进行练习
        1)练习并运行http://www.phpxs.com/post/4427/,的四组代码;
        2)了解php序列化的意义和方法。

高级
1、环境搭建
        在phpstudy中搭建WordPress个人博客。下载地址 https://cn.wordpress.org/ ;

2、学习PHP的mysql 参数绑定
        1)掌握参数绑定的方法以及进行参数绑定的原因;
        2)实验:将课程中学习的teacher数据表,绑定id和addr;进行查询工作,自行编写运行代码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值