A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗熙 初级黑马   /  2019-5-31 12:52  /  990 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

PHP是用于网页服务器端编程的脚本语言;


PHP标记:
        <?php
                1,写在这个结构内的代码才会以PHP语法解析
                2,写在这个结构外的代码会原样返回
        ?>

输出内容的方式:
        echo:        输出多个字符串;
        print:        输出一个字符串的值;
        print_r:        可以输出复杂数据类型;,如数组,以键值对的形式输出;
        var_dump:        可以输出复杂数据类型,如数组,一键值对的形式输出,还可以输出数据的长度;

字符串:
        ' ':        不能解析变量,会将变量当成普通字符串处理  //
        "":        能解析变量 \" \ t \n \r \$

数组:
        创建方式:
                $arr = array();
                $arr = [];
                arr[]= value;//  可以自动创建一个数组,并将当前值添加到数组,如果存在添加数据到数组;

数组的类型:
                1. 索引数组:不认为设置$key $arr = array(1,2,3,4);
                2. 关联数组:认为摄者$key和$value $arr = array("name"=>"$jack");
                3. 混合数组:$arr = array(1,2,3,“name”=>“jack”,4)【键值对跟之前索引数组互不影响】;
                4. 二维数组:数据的值本身又是一个数组:
                        $arr = array(
                                array{
                                        "name=>"jack";
                                        "age"=>20                       
                                },
                                array()
                        )

         
数组的遍历:
               
        1 , for($i = 0;$i<count(数组);$i++){}

        2,foreach(需要遍历数组对象 as $key =>$value){}
变量作用域:  函数内部默认不能使用函数外部所声明的成员,如果想则:
       
        1,使用global关键字;
        2,使用超全局变量$GLOBALS;
常量的定义和使用:
        define(名称,值,false);区分大小写

载入其他文件(文件包含):

        include:                如果载入失败,不会报错,后续代码继续执行,可以重复载入;
        include_once:        如果载入失败,不会报错,后续代码继续执行,它只能载入一次;
        require:                如果载入失败,会报错,后续代码不会执行,它可以重复载入;
        require_once:        如果载入失败,会报错,后续代码不会执行,他不可以重复载入;
常用API:
        文件操作:       
                file_get_contents :可以读取文件内容并返回
                file_put_contents :(文件路径,需要写入的内用,FILE_APPEND),可以将制定的字符串内容写入到文件,
                                其中第三个参数FILE_APPEND可以实现文件内容的追加;
html混编
    1.在<?php 在这个结构内部只能写符合php语法的代码 ?>
    2.在<?php  ?>结构的代码会原样输出
    3.混编实现方式
        1.<?php echo '<p></p>' ?>
        2.
            <?php  if(){ ?>
                <p></p>
            <php }?>
文件操作:
    file_get_contents('文件路径'):获取文件的内容,通常就只是获取文本文件的内容。
    file_put_contents('文件路径', '要写入的内容',[FILE_APPEND]):将内容写入该文件,FILE_APPEND表示追加写入

get请求的基本实现模式:
    客户端(html):
        <form  action="dir1/getdata.php"  method="get" >
            <input type="text"  name="name1"  />
            <input type="password" name="name2" />
                .....
            <input type="submit" />
        </form>
    服务器端:
        接收数据:
            $data1 = $_GET['name1']; //$_GET就是一个关联数组
            $data2 = $_GET['name2'];


ajax的基本代码模式(get请求):
    var xhr = new XMLHttpRequest();
    //url通常就是一个php文件,可以返回信息
    var url = "server.php?name=jack&age=18&a=99&b=ccc";
    xhr.open("get", url);   
    xhr.send(null);
    xhr.onreadystatechange = function(){
        if( xhr.status == 200 && xhr.readyState == 4){
            var str = xhr.responseText; //获得返回的文本
        }
    }



删除用户的代码思路       

list.php:
    <a href="del.php?id=1" >删除</a>
    <a href="del.php?id=2" >删除</a>
    <a href="del.php?id=3" >删除</a>

del.php:
    <?php
        $id = $_GET['id'];
        $sql = "delete from xx表  where id= $id ";
        $res = opt($sql);
        if($res){
            echo '成功';
            header("Location: list.php");
        }else{
            echo '失败';
        }
    ?>       



服务器端跨域 CORS跨域:cross-origin resource sharing;

        header( 'Access-Control-Allow-Origin:*' );

       

header( 'Access-Control-Allow-Origin:http://www.study.com');


Jquery中的jsonp


          dataType:'jsonp' 设置dataType值为jsonp即开启跨域访问


       
jsonp 可以指定服务端接收的参数的“key”值,默认为callback


       
jsonpCallback 可以指定相应的回调函数,默认自动生成




XMLHttpRequest2.0:

timeout:
         document.querySelector("button").onclick = function(){
                   var xhr = new XMLHttpRequest();

           // 设置请求行
            xhr.open("get","01-timeout.php");
            // 设置请求头:get不需要设置
            // 设置请求体
             xhr.send(null);

            // 设置超时
            xhr.timeout = 2000;
            xhr.ontimeout = function(e){
                console.log(e);
            }

            // 接收响应
            xhr.onreadystatechange = function(){
                if(xhr.status == 200 && xhr.readyState == 4){
                    alert(xhr.responseText);
                }
            }
        }

formData:

        // 1.获取表单
            var myform = document.querySelector("#form1");
            // 2.将表单做为参数传递,在创建formData对象的时候
            var formdata = new FormData(myform);

            // 特点之一:可以自由的追加参数
            formdata.append("address","传智播客");
            // 3.生成的formData对象就可以直接做为异步对象的参数传递
            xhr.send(formdata);

            xhr.onreadystatechange = function(){
                if(xhr.status == 200 && xhr.readyState == 4){
                    console.log(xhr.responseText);
                }
            }
        }

上传进度:
        var xhr = new XMLHttpRequest();
            xhr.open("post","03-uploadFile.php");
            // 我想自己来设置一个请求头,看行不行--注意了,如果人为了设置了请求头,那么文件数据无法正确的传递
            // xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

            var myform = document.querySelector("#form1");
            var formData = new FormData(myform);

            // 监听文件上传的进度:这个监听必须在send之前来设置
            xhr.upload.onprogress = function(e){
                var current = e.loaded;
                var total = e.total;
                var percent = current / total * 100 +"%";
                document.querySelector(".in").style.width = percent;
                document.querySelector("span").innerHTML = Math.floor(current / total * 100)+"%";

            }
            xhr.send(formData);

            

            xhr.onreadystatechange = function(){
                if(xhr.status == 200 && xhr.readyState == 4){
                    console.log(xhr.responseText);
                }
            }
        }



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马