• php 基础复习 2018-06-20


    (1)PHP 过滤器(Filter)

    PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入。

    有两种过滤器:

    Validating 过滤器:

    • 用于验证用户输入
    • 严格的格式规则(比如 URL 或 E-Mail 验证)
    • 如果成功则返回预期的类型,如果失败则返回 FALSE

    Sanitizing 过滤器:

    • 用于允许或禁止字符串中指定的字符
    • 无数据格式规则
    • 始终返回字符串

    示例1(filter_has_var()和filter_input()的使用):

     if(!filter_has_var(INPUT_GET, "email")){
                echo("Input type does not exist");
            }else{
                if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)){
                    echo "E-Mail is not valid";
                }else{
                    echo "E-Mail is valid";
                }
            }
    }
    1. 检测是否存在 "GET" 类型的 "email" 输入变量
    2. 如果存在输入变量,检测它是否是有效的邮件地址

    示例二(filter_input_array() 的使用):

     $filters = array(
                "name" => array("filter"=>FILTER_SANITIZE_STRING),
                "age" => array("filter"=>FILTER_VALIDATE_INT,"options"=>array("min_range"=>1,"max_range"=>120)),
                "email"=> FILTER_VALIDATE_EMAIL,
            );
            $result = filter_input_array(INPUT_GET, $filters);
            if (!$result["age"]){
                echo("Age must be a number between 1 and 120.<br />");
            }elseif(!$result["email"]){
                echo("E-Mail is not valid.<br />");
            }else{
                echo("User input is valid");
            }

    示例三(通过使用 FILTER_CALLBACK 过滤器,可以调用自定义的函数,把它作为一个过滤器来使用):

    function convertSpace($string)
    {
    return str_replace("_", " ", $string);
    }
    
    $string = "Peter_is_a_great_guy!";
    
    echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));

    (2)PHP MySQL 基本操作

    //连接
    $con = mysql_connect(servername,username,password);
    
    //关闭
    mysql_close($con);
    
    //创建数据库
    create database database_name
    
    //创建表
    CREATE TABLE table_name
    (
    column_name1 data_type,
    column_name2 data_type,
    column_name3 data_type,
    .......
    )
    
    //选择数据库
    mysql_select_db("my_db", $con);

    注意:注释:SQL 语句对大小写不敏感。

    (3)mysql的日期时间类型

    • date(yyyy-mm-dd)
    • datetime(yyyy-mm-dd hh:mm:ss)
    • timestamp(yyyymmddhhmmss)
    • time(hh:mm:ss)

    (4)mysql 创建表

    $sql = "CREATE TABLE Persons 
    (
    personID int NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(personID),
    Name varchar(15),
    Age int
    )";

    注意:主键的属性AUTO_INCREMENT,单词increment中没有A。

    (5)mysql_fetch_array(data,array_type)

    data 可选。规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。
    array_type 可选。规定返回哪种结果。可能的值:
    MYSQL_ASSOC - 关联数组
    MYSQL_NUM - 数字数组
    MYSQL_BOTH - 默认。同时产生关联和数字数组

    相关函数:

    mysql_fetch_assoc(data)   从结果集中取得一行作为关联数组。

    mysql_fetch_row(data)   从结果集中取得一行作为数字数组。

    mysql_fetch_object(data) 函数从结果集中取得一行作为对象。

    mysql_fetch_field(data,field_offset) 函数从结果集中取得列信息并作为对象返回。

    (6)PHP Database ODBC

    ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)。

    通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的。

    (7)什么是 XML?

    • XML 指可扩展标记语言(EXtensible Markup Language)
    • XML 是一种标记语言,很类似 HTML
    • XML 的设计宗旨是传输数据,而非显示数据
    • XML 标签没有被预定义。您需要自行定义标签。
    • XML 被设计为具有自我描述性。
    • XML 是 W3C 的推荐标准。

    (8)XML语法:

    XML 元素都须有关闭标签。
    XML 标签对大小写敏感。在 XML 中,标签 <Letter> 与标签 <letter> 是不同的。
    XML 必须正确地嵌套。
    XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。
    XML 的属性值须加引号。
    XML 请用实体引用来代替 "< > & ' " " 字符。
    XML 中的注释,使用<!-- -->
    XML 中,空格会被保留(HTML会把多个连续的空格字符裁减(合并)为一个)。
    XML 以 LF 存储换行。

    (9)XML 命名规则

    XML 元素必须遵循以下命名规则:

    • 名称可以含字母、数字以及其他的字符
    • 名称不能以数字或者标点符号开始
    • 名称不能以字符 “xml”(或者 XML、Xml)开始
    • 名称不能包含空格

    可使用任何名称,没有保留的字词。

     

    (10)使用 CSS 显示 XML

    <?xml-stylesheet type="text/css" href="cd_catalog.css"?>,把这个 XML 文件链接到 CSS 文件.

     

    (11)通过 PHP 生成 XML

    header("Content-type:text/xml");
    echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
    echo "<note>";
    echo "<from>John</from>";
    echo "<to>George</to>";
    echo "<message>Don't forget the meeting!</message>";
    echo "</note>";


    (12)PHP加载和输出 XML

    $xmlDoc = new DOMDocument();
    $xmlDoc->load("note.xml");
    print $xmlDoc->saveXML();
    //循环输出元素
    $xmlDoc = new DOMDocument();
    $xmlDoc->load("note.xml");
    
    $x = $xmlDoc->documentElement;
    foreach ($x->childNodes AS $item){
      print $item->nodeName . " = " . $item->nodeValue . "<br />";
     }
    //使用simpleXML
    $xml = simplexml_load_file("test.xml");
    foreach($xml->children() as $child){
      echo $child->getName() . ": " . $child . "<br />";
    }
    
    
    
  • 相关阅读:
    剑指offer63:数据流中的中位数
    剑指offer62:二叉搜索树的第k个结点,二叉搜索树【左边的元素小于根,右边的元素大于根】
    剑指offer61:序列化二叉树
    关于手机拍摄的图片在处理过程中出现问题的解决方法
    一道逻辑思考题
    鼠标右键无反应解决方法
    六大设计原则
    开源镜像网站
    获取当前文件夹下的文件名称
    wget使用方法
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9204550.html
Copyright © 2020-2023  润新知