php学习笔记

一.PHP认识
 1.PHP:计算机编程语言,是脚本语言,不需要事先编译,在服务器端运行
 2.目的:快速编写动态页面,被用来开发各种类型的网站程序
 3.web原理:web服务器(apache),文件,PHP应用服务器(执行PHP代码),MySQL数据库管理 系统,DNS服务器(IP地址对应域名,会先查看本机的文件,看是否有对应的,没有就看DNS服务器 的,都是通过IP地址来找对应web服务器的,能用域名是因为DNS服务器发挥了作用)
 4.url地址:格式:http://host[:port][abs_path]
                http://表示要通过的HTTP协议来定位网络资源
                host:表示合法的intermetallic主机域名或者IP地址
                port:指定应该端口号,可以省略,默认为80
                abs_path被请求资源的位置
 5.phpstudy:一个包含web服务器(apache),PHP应用服务器(执行PHP代码),MySQL数据库管 理系统的集成环境,访问的是以www这个目录为根目录的文件,


二.PHP基础脚本程序
 1.PHP标记
  1)PHP开始标记
         <?php
  2)PHP结束标记
         ?>
  3)PHP的页面最终还是通过html,css,js来展现
  4)PHP代码可以多个嵌入html代码的任何地方
  5)末尾的?>可以省略
 2.分隔符“;”
  1)一些语句要加上
  2)?>就隐藏了一个“;”
 3.注释
  1)单行注释//
  2)多行注释/*  */
 3.空白,如空格换行这些是无所谓的
 4.换行
  '<br />'


三.变量
 1.变量的表示
    $变量名=数据
     注意:在PHP中是不需要像C一样声明的
 2.变量的销毁
    unset($变量名)
 3.变量的命名规则
  1)严格区分大小写
  2)字母或者下划线开头
  3)中间不能有空格
  4)可以用关键字来当变量名,但是最好别用
 4.可变变量
       $a='set'
       $$a='ss' //$set='ss'
 5.变量的应用赋值
    $a=100
    $b=&$a //意思就是$b==$a


四.变量类型
 1.变量类型
  1)bool(布尔型)
       PHP规定:echo输出布尔类型值时,true会输出1,false页面什么都不会输出  
       空白字符串 和 字符串'0' 和 没有成员的数组 和 NULL 都是false
  2)int(整型)
  3)float(浮点型)
  4)string(字符串型)
 2.var_dump($变量名)
    表示这个变量的类型
 3.引号和定界符
  1)单引号:不会查里面的变量名,效率高一点,但是在引号内用引号要用转义符‘/’
  2)双引号:会查明里面的变量名,可以用 { } 把变量名括起来
  3)定界符:<<<相同字符--内容------------------------------------------------------------------
                     相同字符
     (不需要转义符)
 4.NULL
  1)大小写都可以
  2)表示空
 5.变量类型转换
  1)自动转换
  2)强制转换
        $a=8
        $b=(float)$a


五.常量
 1.定义
  1)define('常量名',常量值)
      注:常量名要用单引号或者双引号括起来,
  2)和变量的命名规则一样
  3)一般常量名要大写
 2.区别
    只能通过define()函数来定义,不能通过赋值来
    常量可以不用理会变量范围的规则而在任何地方定义和使用(如函数中的全局变量和局部变量)
 3.预定义常量
  1)__FILE__           当前的文件名
       __LINE__          当前行数
       __FUNCTION__             当前的函数名
       __METHOD__        当前对象的方法名
       __CLASS__         当前的类名


六.运算符
 1.++或者--是作用在变量上的,例如echo 4++ 这是错的
 2.字符串运算符
     '.'字符串连接运算符,字符串a.字符串b,连接两个字符串
 3.比较运算符
   1)==表示值相等,$a=11,$b='11',var_dump($a==$b)输出为true,因为会自动转换数值类型
   2)===表示全等,值相等,类型也相等
   3)!=或者<>表示值不相等
        !==表示不全等
 4.逻辑运算符
  1)参与逻辑运算的表达式的值是布尔型的值,如果不是布尔型会自动转换成布尔型
  2)逻辑与,and 或者 &&
  3)逻辑或,or 或者 ||
  4)逻辑异或,xor
  5)逻辑非,!
 5.位运算符
 6.其他运算符
  1)' ? : '是三元运算,格式:表达式1 ? 表达式2 : 表达式3   
              如果表达式1为true,则执行表达式2,否则执行表达式3
  2)` `   :可以把系统的命令放在里面执行,涉及到跨平台
                 $a=`ipconfig`
  3)@:可以屏蔽表达式肯可能发生的错误
              echo @$a,屏蔽echo可能发生的错误
  4)=>
  5)->
  6)instanceof
 7.运算符的优先级
   优先级递归,往下越小
   ++或者--
   !
   * / % 
   + - .
   > <
   ==  !=  ===  !==
 8.短路问题
  1)&& 和 ||
     $a && ++$b ,如果$a为false,&&直接输出false,不看后面的++$b了
     $a || ++$b ,如果$a为true,ll 直接输出true,不看后面的++$b了
  2)只要写逻辑运算符,都会看两个表达式是true是false,不会看他们的内容


七.流程控制
 1.switch语句
  switch(表达式)
 { case 值 1:
    语句块1;break;
   case 值 2:
     语句块2;break;
    。。。。。
    default:
     语句块n;break;
}
 2.特殊流程控制
  1)break语句
              作用与switch,for,while,do....while,foreach,用于跳出循环语句
               后面可以接一个数字如break 1(默认),表示跳出几层循环,默认跳出当前循环语句
  2)continue语句
              只能用于循环语句,跳出这一次循环,执行下一次循环
  3)exit( )语句
              结束当前整个程序的执行
              括号里可以写一些字符串,会表示出来,以作说明
              die( )和exit( )一模一样


八.函数
 1.自定义函数
   1)function 函数名([ 形式参数1,形式参数2,........,形式参数n]) 
       {-------------语句块--------------------------------------
        }
   2)[ ] 表示里面可以不写大写
   3)return 表达式(也可以不返回,如果不写,默认返回null)
 2.PHP变量范围
   1)局部变量:函数内定义的变量,仅在函数内部有效
   2)全局变量:外部定义的变量,
                      但是在函数中无法直接使用全局变量,如需使用必须用 global 声明变量,全局变量在函数中的改变在外面也有的
              注意:常量可以不用理会变量范围的规则而在任何地方定义和使用,外部定义的常量,函数内也可以使用
   3)静态变量:是指在函数内部用 static 定义的变量
              特点:函数执行完毕后,静态变量不会消失,当再次调用函数时,静态变量的值为上一次的值
   4)调用函数的方式:当需要调用函数时,系统会抽出一部分内存,用来执行函数内容,当执行完毕后,这一部分空间就会被丢掉,下一次再调用时又重新抽内存执行函数,所以每次执行函数都是从头开始的,但是当函数中又静态变量时,函数执行完,静态变量是不会被丢弃的
 3.参数的传递,可变函数
   1)按值传递参数
        默认的,对形式参数的操作,不影响到实际参数的值
   2)按引用传递参数
        相当于实际参数和形式参数是同一个,对形式参数的操作,影响实际参数的值
        例如function test(&$a),引用$a
   3)函数的默认参数
        可以给形式参数设置默认值,例如functon test($a,$b=20),默认的,当没有实际参数输入的时候,就会使用这个默认值
        注意:设置默认值要从右往左设
   4)可变长度参数列表
       PHP提供的,可以直接使用
       func_get_args( );列出输入的所有实际参数,列出来的都是数组
       func_get_arg( );括号里可以放数,放的几就列出第几个实际参数,按数组来算的
       func_num_args( );列出输入的实际参数的数量
   5)可变函数
       function test( )
       $a='test';把函数赋值给了$a
       $a( );用$a调用了test函数
 4.递归函数
   1)递归函数即在函数内部自己调用自己的函数
   2)需要有结束函数运行的条件
 5.内置函数
   1)echo( )
   2)include( )
   3)include_once( )
   4)require( )
   5)require_once( )
   6)这些是结构不是函数,不能赋值给变量,
   7)还有一些函数需要开启特定的PHP拓展模块,否则不能使用      


九.数组
 1.数组的分类
    1)索引数组:索引值为整数的数组
    2)关联数组:索引值为字符串的数组,会在开发中大量使用
 2.数组的创建
    1) PHP不需要在创建数组是指定数组的大小,也不需要声明数组,还可以在同一个数组中存任何类型的数据,甚至可以在数组里存数组(即二维数组,多维数组)
    2)直接创建:$变量名称 [索引值] = 数据
                         $a[0]=1
                         $a[1]=2....................
    3)使用array( )语言结构来创建数组:$变量名称=array(索引值=>数据,) 或 $变量名称=array(数据1,数据2,数据3.........)  
         注意:用 ',' 隔开      
    4)可以使用print_r(变量名),输出数组的具体内容,全部输出
 3.遍历数组
    1)for循环
         用得少,不能输出关联数组
    2)foreach语句
         foreach(数组变量名 as 变量1){执行语句}
         变量1代表要访问的数据,不是索引值,这个变量1名字你可以随便写,但是访问的是你的数组里的数据
         foreach(数组变量名 as 变量1=>变量2){执行语句}
         变量1代表的是索引值,变量2代表的是数据,变量1和变量2的名字可以随便写
 4.预定义超全局数组
    1)预定义:PHP已经定义好了的变量,
         超全局:超级全局变量,任何地方都可以用
         数组:存放的数据类型是数组
    2)传递数据给服务器的主要两种方式(例如输入账号密码)
        ·· get方式
         在域名后面加上?参数名=参数值$参数名=参数值..............
         例如 http://localhost/1.php?xsq=mwq
         在服务器端(请求的php文件)可以通过$_GET来获取传给服务器的数据
         注意:你传递的输出会直接在域名后面显示,不安全,尽量不要用
        ·· post方式
         这种方式传递的数据不会在域名显示,安全一点,输入账号密码就用这种
         可以通过$_POST 来获取
    3)$_GET,$_POST两个常用的预定义超全局数组
 5.处理数组的相关函数(常见的几个)
    1)array_count_values(数组名)
         统计数组中所有的值的出现次数
    2)array_key_exists(索引值,数组名)
         查看给定的键名或者索引值是否存在于数组中
    3)array_search(数据,数组名,[true])
         在数组中搜索给定的值,如果成功则返回相应的键名/索引值
         注意:不加true只比较值,加true还要比较类型
    4)count(数组名)
         查看数组中的个数
    5)in_array(数据,数组名,[true])
         查看数组中是否存在某个值
         加true还要比较类型
    6)list(变量名)=数组
         把数组中的值赋给变量
     7)asort(数组名)
         对数组进行排序并保持索引关系
         注意:还有各种排序方式
     8)array_filter(数组名,函数)
         把数组值传递到函数中

十.字符串处理
 1.去除空白或者其他字符串函数
    1)trim( 变量名,[要去掉的字符])
         去除字符串首尾处的空白字符或者其他字符,[ ]不写就默认去除空白字符
         注意:会返回一个新的字符串
    2)ltrim(变量名,[要去掉的字符])
          去除字符串左边的空白字符或者其他字符
    3)rtrim(变量名,[要去掉的字符])
          去除字符串右边的空白字符或者其他字符    
 2.大小写转换函数
    1)strtoupper(变量名)
         将字符串转化为大写
          注意:会返回一个新的字符串
    2)strtolower(变量名)         
          将字符串转化为小写
 3.字符串查找函数
    1)substr_count(变量名,要查的字符串,[填数字,表示从第几个开始查],[填数字,表示最大搜索长度,如果超出则报错])
         计算字符串出现的次数
    2)strpos(变量名,要查的字符串,[填数字,表示从第几个开始查])
         查找字符串首次出现的位置
    3)strstr(变量名,要查的字符串,[true])
          不加true,输出这个字符串首次出现之后的内容,加true,输出这个字符串首次出现之前的内容
 4.字符串替换函数
      str_replace(要换掉的字符串,新的字符串,变量名,[$count])
      注意:$count表示替换次数
      如果有数组,会变成str_replace(要换掉的组成的数组例如array(要换掉的字符串),新的字符串组成的数组array(新的字符串),变量名,[$count])
 5.与html标签有关的函数
     1)htmlspecialchars( )
          把一些预定义的字符传唤为html实体
     2)steip_tags(变量名,[标签,要保留的标签])
          从字符串中去除thml和php标记
 6.字符串截取函数
     substr(变量名,输入数字表示从何处开始截取,[输入数字,表示要截取几个,不输入默认截取到末尾])
 7.字符串分隔函数
     1)explode(分隔的符号,变量名,[输入数字,表示返回值分隔处数字-1个,剩下的一块打包])
     2)str_split(变量名,[输入数字,表示截取的长度])
          默认将字符串里每一个字符都分隔出来


十一.正则表达式
 1.理解:描述了一类字符串的特征,然后通过这个特征可以匹配一些特定的函数,然后来·完成对字符串更复杂的操作,这类字符串的特种是有一个或者多个普通字符和元字符组成
 2.定界符
     1)一般用 '/' 作为定界的字符,表示正则表达式的开始或结束,例如 '/a/'
          还可以用#,!,{},|,表示定界符
 3.元字符
     1)指在正则表达式中有特殊含义的字符
          /d:等价于0-9
          /D:除了0-9以外的所有字符
          /s:任意的空白字符  例如换页符,换行符,回车符........
          /S:除了空白符以外的任意字符
          /w:任意数字,字母或者下划线
          /W:除了数字,字母,下划线以外的任意符号
          . :表示除了换行符以外的任意符
          *:匹配到0,1次或者多次其前面的字符
          +:匹配到1次或者多次其前面的字符
          ?:匹配到0,1次其前面的字符
          {n}:其前面的字符恰好出现n次
          {n,}:其前面的字符出现不少于n次
          {n,m}:其前面的字符至少出现n次,至多出现m次
          ^或\A:其前面的字符在开头
          $或者\Z:其前面的字符在末尾
          [ ]:匹配方括号中的任意字符,要在方框中输入字符的
          [^]:除方框中以外的任意字符
          |:表示或的意思,这表示其中有这两个之一就取出
          ( ):将括号中作为一个整体以便将其中内容获取,会将括号内的取出,在圆括号后面使用 //数字 表示第数字个圆括号所匹配的内容
 4.模式修正符
      1)是在正则表达式的定界符之后使用的,可以调整正则表达式的解释,增强正则表达式的处理能力
       2)常见的模式修正符
            i:在和迫使进行匹配是不区分大小写
            m:多行匹配,如果目标字符串中没有\n或者^或者$,设置这个修正符无影响
                   在windows中换行会产生两个字符,\r(回车符)\n(换行符),在linux中只会产生\n
            s:如果设置了此修正符,那么 . 将匹配所有的字符包括换行符
            U:禁止贪婪匹配和?一样
 5.与正则表达式配合的函数
      1)preg_match_all(输入变量(字符串的特征),输入变量(要被搜索的字符串),输入变量(取出的字符串被保留在这个变量中))
           在给定的字符串中进行搜索,匹配到符合特征的部分取出来
           第四个参数(可选):PREG_PATTERN_ORDER(默认)
                                           还有别的
           第五个参数(可选):可以传一个值,来表示从目标字符串的哪个位置开始搜索
      2)preg_match( )
         他的值将是0次(不匹配)或者1次
          第一个参数:正则表达式
          第二个参数:目标字符串
          第三个参数:放一个变量,匹配到的部分会放在变量里
          第四个参数(可选):可以传PREG_OFFSET_CAPTURE,默认传的是0,表示在第几个匹配到
          第五个参数(可选):可以传一个值,来表示从目标字符串的哪个位置开始搜索
      3)preg_replace( )
          执行一个正则表达式的搜索和替换
          第一个参数:正则表达式
          第二个参数:要替换成的字符串,也可以放一个随便的变量例如第一个参数中的(里的内容)就对应第二个参数中随机的一个变量的内容
          第三个参数:目标字符串
          第四个参数(可选):填数字,填的几就替换几次,默认是-1,表示替换所有符合特征的部分
          第五个参数(可选):可以放一个变量,例如$count,输出一个数字
          特殊:第一个参数和第二个参数传数组,一一对应的取替换他

十二. 日期与时间
 1.设置时区
     默认的时区是UTC!
     date_default_timezone_set('Asia/Shanghai');
 2.获取当前Unix时间戳
     从Unix纪元(格林威治时间1970年1月1日00时00分00秒)开始到当前的秒数。
     time();
 3.获取指定时间的Unix时间戳
     mktime(时,分,秒,月,日,年)
 4.获取当前的时间信息
     date('Y-m-d G:i:s',可以加查文件时间的函数)
                 Y:年     m:月     d:日    G:时      i:分         s:秒
                  还有其他的自己查
 5.获取Unix时间戳和微秒数
     microtime([true])
                 不加true表示微秒在前,秒数在后
                  加true表示秒数.微妙数

十三.图像处理
 1.创建图像的基本步骤
     1)学前了解:
         在PHP中通过GD库处理图像的操作,都是先在内存中处理,操作完成以后再以文件流的方式,输出到浏览器或保存在服务器的磁盘中。
学前需求:
         开启GD库扩展
      2)创建一个图像应该完成如下所示的四个基本步骤
         ··创建图像
         ··绘制图像
         ··输出图像    
         ··释放资源
 2.创建图像
    所有的绘图设计都需要在一个图像上完成,以后的操作都将基于这个图像。
         1) 创建新的
       imagecreatetruecolor()//新建一个真彩色图像
                   输入两个参数(整数),表示图像长宽
          2)打开服务器或网络文件中已经存在的GIF,JPEG,PNG,WBMP格式图像
       imagecreatefromjpeg()
                        一个参数:'jpeg文件路径'
       imagecreatefrompng()
       imagecreatefromgif()
       imagecreatefromwbmp()
          3)输出图像信息
                   imagesx()//输出画布宽度
       imagesy()//输出画布高度
       getimagesize()//取得图像大小
                      参数都填创作的图像或者打开的图像的变量名

 3.绘制图像 
    图像创建完成以后,就可以通过这个图像资源,使用各种画像函数设置图像的颜色、填充画布、画点、线段、各种几何图形,以及向图像的添加文本等。
            ··  imagecolorallocate()//分配颜色
                     第一个参数:建的变量名,
                     第二第三第四个参数:根据RGB填入相应颜色参数,0-255之间,可以用rand( )输入两个数字,用逗号隔开,表示在这两个数字范围内取随机数,,在做验证码图片的时候可以用
            ··  imagefill()//区域填充
                      第一个参数填入创建的图像(变量名),第二第三个参数填入要放置的位置(数字),第四个参数填给创建的图像分配的颜色(变量名)
            ··  imagesetpixel()//画一个单一像素
                     第一个参数:填入创建的图像(变量名)
                     第二,三个参数:x,y的坐标
                     第四个参数:分配的颜色
            ··  imageline()//画一条线段
                      第一个参数:填入创建的图像(变量名)
                      第二,三个参数:起点x,y的坐标
                      第三,四个参数:终点x,y的坐标
                      第五个参数:分配的颜色
            ··  imagerectangle()//画一个矩形
                      第一个参数:填入创建的图像(变量名)
                      第二,三个参数:左上角x,y的坐标
                      第三,四个参数:右下角x,y的坐标
                      第五个参数:分配的颜色
            ··  imagestring()//水平地画一行字符串
                      第一个参数:填入创建的图像(变量名)
                      第二个参数:填入数字,表示字体,1-5是内置字体
                      第三,四个参数:开始的x,y坐标
                      第五个参数:输入要写的字符串
                      第六个参数:分配的颜色
            ··   imagettftext()//用 TrueType 字体向图像写入文本 
                      第一个参数:填入创建的图像(变量名)
                      第二个参数:输入数字,表示文字大小
                      第三个参数:输入数字,表示角度
                      第四,五个参数:左下角的x,y坐标
                      第六个参数:分配的颜色
                      第七个参数:字体文件的路径
                      第八个参数:要输入的字符串
            ··  imagettfbbox()//计算 TrueType 文字所占区域
                      第一个参数:字体的大小
                      第二个参数:角度
                      第三个参数:字体文件的路径
                      第四个参数:输入的字符串
                          输出的数据
                          0 1 左下角X,Y位置
                          2 3 右下角X,Y位置
                          4 5 左上角X,Y位置
                          6 7 右上角X,Y位置
            ··  imagecopy()//拷贝图像的一部分
                      第一个参数:目标图像
                      第二个参数:被拷贝的图像
                      第三,四个参数:拷贝到目标图像上的x,y坐标
                      第五,六个参数:从被拷贝图像的x,y坐标开始拷贝
                      第七,八个参数:拷贝的长宽
            ··  imagecopymerge()//拷贝并合并图像的一部分
                      第一个参数:目标图像
                      第二个参数:被拷贝的图像
                      第三,四个参数:拷贝到目标图像上的x,y坐标
                      第五,六个参数:从被拷贝图像的x,y坐标开始拷贝
                      第七,八个参数:拷贝的长宽
                      第九个参数:输入数字,表示透明度,数越小越透明
            ··  imagecopyresampled()//重采样拷贝部分图像并调整大小
                      第一个参数:目标图像
                      第二个参数:被裁剪的图像
                      第三,四个参数:确定x,y坐标,把裁剪来的图像放在目标图像的哪个位置
                      第五,六个参数:确定x,y坐标,裁剪的位置
                      第七,八个参数:确定放在目标图像上被裁剪图像的长宽
                      第九,十个餐宿:确定裁剪图像的长宽
 4.输出图像
    完成整个图像的绘制之后,需要将图像以某种格式保存到服务器的文件中,或者将图像直接输出到浏览器上显示给用户。但在图像输出之前,一定要使用header()函数发送Content-type通知浏览器,这次发送的是图片不是文本!
      ··  header()
           注意:在header( )之前不能输出任何内容,会报错
         { header('Content-type:image/jpeg');    //默认Content-type:text/html;还可以写charset=utf-8(表示字符编码是utf-8)
           $a=imagecreatetruecolor(2000,200);
           $b=imagecolorallocate($a,150,250,150);
           imagefill($a,45,85,$b);
           imagejpeg($a);
         }
      ·· imagegif()
      ··  imagejpeg()
             第一个参数,变量名,表示输出这个图片以jpeg格式
             第二个参数(可选),字符串(路径)表示保存这个图片,表示生成这张图片,不输出这个图片了,是保存在www目录下的,以/开头写保存路径,他不是以www这个目录开始的,
      ··  imagepng()
      ··  imagewbmp()
 5.释放资源
        imagedestroy()

十四.文件与目录操作
 1.目录的基本操作
       1)判断普通文件和目录
          ··  is_file()//判断给定文件名是否为一个正常的文件
                     一个参数:'放文件名或者路径'
          ··  is_dir()//判断给定文件名是否是一个目录
                     一个参数:'放文件名或者路径'
       2)文件的属性
          ··  file_exists()//检查文件或目录是否存在
          ··  filesize()//取得普通文件大小
          ··  is_readable()//判断给定文件名是否可读
          ··  is_writable()//判断给定的文件名是否可写
          ··  filectime()//获取文件的创建时间
                  获取时间都是用date()
          ··  filemtime()//获取文件的修改时间
          ··  fileatime()//取得文件的上次访问时间
          ··  stat()//获取文件大部分属性值
                 都是一个函数:'放文件名或者路径'
        3)目录的基本操作
          ··   basename()//返回路径中的文件名部分
                     __FILE__:查看当前目录
          ··   dirname()//返回路径中的目录部分
          ··   pathinfo()//返回文件路径的信息
                   前三个都放一个'路径'
          ··   opendir()//打开目录句柄
                   第一个参数:'目录'  或者  '目录路径'
                   下面几个都要用到他
                   一般要把它赋给变量
          ··   readdir()//从目录句柄中读取条目,返回目录中下一个文件的文件名
                   会访问到一个 . 表示当前目录
                   还会访问到 .. 表示上一级目录
          ··   rewinddir()//倒回目录句柄
          ··   closedir()//关闭目录句柄
          ··   mkdir()//新建目录
                   第一个参数:'目录名'
                   第二个参数:输入数字,表示权限
                   第三个参数:true或false,有true时,可以输入多个连续的目录
          ··   rmdir()//删除指定的空目录
          ··   scandir()//列出指定路径中的文件和目录
 2.文件的基本操作
          ··   fopen()//打开文件或者 URL
                   资源类型,要放在变量里面,在其他函数里使用
                   第一个参数:'文件名或者路径'
                   第二个参数:'打开的方式',例如'r':只读,将文件只想文件头;'w':只写;'a':写入方式打开,指针指向文件末尾;r,w,a+:表示读写方式打开;其他自己查
                            注意:当你要用别的函数写入时,打开的方式也要改变,不能用只读的方式打开写入内容
          ··   fread()//读取文件
                   第一个参数:放资源类型数据
                   第二个参数:放读取的长度,读几个字节
                             注意:一个英文是一个字节,一个中文是三个字节
          ··   fgets()//从文件指针中读取一行 
                   第一个参数:放资源类型数据
          ··   feof()//测试文件指针是否到了文件结束的位置,指光标是否到最后,作用看是否读完
                   第一个参数:放资源类型数据 
          ··   fwrite()//写入文件
                   第一个参数:放资源类型数据
                   第二个参数:放要写入的字符串
          ··   fseek()//在文件指针中定位
                   第一个位置:放资源类型数据
                   第二个参数:放字节数
                   第三个参数:SEEK_SET:设定位置等于第二个参数的字节数
                                      SEEK_CUR:设定位置为当前位置加上字节数
                                      SEEK_END:设定位置为末尾加字节数
          ··   rewind()//倒回文件指针的位置,倒回文件开头的地方
          ··   flock()//轻便的咨询文件锁定 
                   第一个参数:放资源类型数据
                   第二个参数:LOCK_SH,表示锁定读取的程序,只有自己可以读
                                      LOCK_EX,表示锁定写入的程序,只有自己可以写
                                      LOCK_UN,表示解除锁定
                                      在前三个+LOCK_NB,表示不希望堵塞,不行就直接输出失败
               sleep(加数字),表示延迟几秒
          ··   ftruncate()//将文件截断到给定的长度,不解释
          ··   fclose()//关闭一个已打开的文件句柄
                     第一个参数:放资源类型数据
          ··   file() //把整个文件读入一个数组中
          ··   copy()//拷贝文件
          ··   unlink()//删除文件
     13.file_get_contents()//将整个文件读入一个字符串
     14.file_put_contents()//将字符串写入文件中
     15.rename()//重命名一个文件或目录
     16.readfile()//读入一个文件并写入到输出缓冲


十五.会话控制
 1.cookie
                Cookie是用来将网站的资料记录在客户端的技术,这种技术让Web服务器能将一些
     资料,存放于客户端(用户的电脑)之中。
     比如:当通过验证,成功登录网站后,在”网页一“的PHP脚本中,会把这个用户
     有关的信息,设置到客户端电脑的Cookie中,当再次访问同一个网站中的其他脚
     本时,就会自动携带Cookie中的数据一起访问,在服务器中的每个脚本中都可以
     接受Cookie中的数据,不需要每访问一个页面就重新输入一次登录者的信息。
    1.向客户端电脑中设置Cookie
   setcookie ();
       第一,二个参数:字符串,表示输入的内容
       第三个参数:time()+数字,表示持续时间
    2.在服务器端上读取Cookie的内容
       $_COOKIE(超全局变量)
     3.将多维数组应用于Cookie中
   setcookie("member[name]",'孙胜利');
   setcookie("member[email]",'1205429372@qq.com');
     4.删除Cookie
   setcookie("member",'',time()-数字);

当你感到迷茫时,不要慌张,那可能是你成长的信号!!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值