精华内容
下载资源
问答
  • PHP 超文本预处理器(动态网站脚本语言) PHP是什么 PHP: 超文本预处理器一句话: 一种用来开发动态网站的服务器脚本语言 ​ 1. PHP 定界符 所有PHP代码必须放在定界符里才能起作用 定界符1: <?...

    PHP 超文本预处理器(动态网站的脚本语言)

    PHP是什么

      PHP: 超文本预处理器一句话: 一种用来开发动态网站的服务器脚本语言
    ​
    1. PHP 定界符
       所有PHP代码必须放在定界符里才能起作用
       定界符1: 
       <?php  php代码  ?>     长风格定界符
       定界符2:
       <?     php代码  ?>     短风格定界符
       PS: 
       短风格定界符, 服务器默认不开启
       如需开启, 需要修改配置文件
       配置文件地址:  wamp\bin\apache\apache2.4.18\bin\php.ini
       配置代码: short_open_tag = On | Off
       修改任意配置, 必须重启服务器才能起作用.
    ​
    2. PHP 向浏览器输出一句话
       echo '内容';
       PS: 内容可以识别 html标签
    ​
    3. 如果输出内容乱码, 则先声明编码方式
       header('content-type: text/html; charset=utf-8');   utf-8编码
    ​
    4. 注释
       单行: //
    ​
       ```
        单行: #
        多行: /*  * /
       ```
    ​
    5. 基本语法
       每条PHP命令 均以 分号 结尾;
       其中, 最后一条PHP命令, 可以省略分号.  (不推荐)

    变量

     变量  variable       未知数   值不固定
    ​
    1. 格式
       $变量名 = 值
       PS: 如果变量 没有赋值, 则被称之为 未定义的变量
       echo @$y;  // Undefined : 未定义
       如果不想看见错误, 在变量前面加@
    ​
    2. 命名
       2.1 规范: 由数字, 字母和 下划线组成, 不能以数字开头          支持中文, 最好不要用中文.
       2.2 区分大小写
    ​
    3. 可变变量: 将一个变量的值 作为另一个变量的名 去使用
       普通赋值
    ​
       •    $a = 100;
    ​
       引用变量: 将一个变量的内存地址 给了 另一个变量
    ​
       •    $a = 100;
       •    $b = &$a;   // $b = $a的内存地址,  两个变量共用同一个内存

    数据类型

     

    数据类型
    •       标量
    •           整型  int
    •           浮点型  float
    •           布尔型  bool
    •           字符串  string
    •       复合
    •           数组    array
    •           对象    object
    •       特殊
    •           资源    resource
    •           空   null

     

    整型 int

     

    **最大整型**
    •   var_dump( PHP_INT_MAX );
    •   echo '<br>  ';
    •   $a = PHP_INT_MAX;
    •   $a = $  a + 1;
    •   var_dump( $a );
    •   PS : **超过最大整型, 则自动转换为 浮点型**
    ​
    •   进制数   => 十进制
    •   二进制: 0-1        **以0b开头**
    •   八进制:     0-7    **以0开头**
    •   十进制:
    •   十六进制:   0-9 a-f     **以0x开头**

     

    浮点型 float 小数

     

    var_dump( 1.5 );
    •   var_dump( 15 );
    ​
        精度   14位   四舍五入
    •   科学计数法
    ​
    •   $a = 2e3; // 2 * 10^3
    •   echo $a;
    •   var_dump($a);
    ​
    •   奇葩现象  **浮点型不适合二进制**

     

    布尔型 bool 状态

     

    值: true | false
    •   场景: 用于 判断
    ​
    •   var_dump( 1 > 2 );
    ​
    •   **有7种情况与false 等价, 其余都是true**
    ​
    1. false
    2. 0
    3. 0.0
    4. ''  或  '0'
    5. null
    6. 空数组 array()  或 []
    7. 未定义变量

    字符串 string

    • **单引号       推荐**
      ​
      - **双引号**
        - **自定义定界符   <<<定界符    定界符;** 
      ​
      单双引号的区别
      ​
      **单: 不解析变量, 不解析转义字符, 但解析转义转义字符**
      **双: 解析变量, 解析转义字符**
      **共: 不能自插, 可以互插**

      数组

       

      **组成: 下标 和 值**
      ​
      •   格式: 
      •       $数组名[] = 值
      •       $数组名 = [值1, 值2, ...]
      •       $数组名 = array(值1, 值2, ...)
      ​
      •       增删改查, 通过 下标 来实现

      对象

       

      *类和对象*
      ​
              **类 就是对象的抽象画**
      ​
              **对象 就是类的实例化**
      ​
          *类*
      ​
              class 类名
      ​
              {
      ​
                  属性
      ​
                      格式:
      ​
                          修饰符 属性名
      ​
                          修饰符 属性名 = 属性值
      ​
                  方法
      ​
                      格式:
      ​
                          修饰符 function 方法名 (参数)
      ​
                          {
      ​
                              方法体
      ​
                          }                   
              }
      ​
      对象
      ​
          实例化格式:
      ​
          对象 = **new 类名**
      ​
      通过对象使用属性
      ​
          **对象->属性名**
      ​
      通过对象使用方法
      ​
          **对象->方法名()**
      ​
      伪对象
      ​
          在类内,通过 **$this** 来访问属性/方法
      ​
      连贯操作
      ​
          **$对象名->方法名( )->方法名( )..........**
      ​
          PS: 每个方法需要返回对象(**return对象名**)

      资源

       

      资源数据类型是PHP4引进的。资源是一种特殊的变量类型,保存了 到外部资源的一个引用:如打开文件、数据库连接、图形画布区域等。
      ​
          资源是通过专门的函数来建立和使用的
      ​
          资源在PHP变量中使用
      ​
          例: $资源 = fopen('文件地址', '模式')

       

      定义: 没有内存地址
      ​
          3种情况直接为null
      ​
          直接赋值
      ​
          未定义变量
      ​
          被删除的变量

      常见函数

       

      unset()   删除变量
      ​
          empty()     判断一个变量是否为假 假 返回true,  真 返回false
          isset()     判断一个变量是否有内存地址   有 返回true,  没有 返回false
                  只有null 和 未定义变量 返回false 
      ​
          **常量**
      ​
          格式: const 常量名 = 常量值
      ​
          格式: define(常量名, 常量值 [,true/false])
                                      true: 不区分大小写
                                      false: 区分大小写  默认
      ​
      - 常量名不需要$符
      ​
        - 常量区分大小写
        - 常量不能重新赋值
        - 常量不能重新定义
      ​
        魔术常量
          __FILE__        盘符路径
          __LINE__        行号
      ​
        预定义常量
          PHP_INT_MAX     最大整数
          PHP_OS          操作系统
          PHP_VERSION     版本
          M_PI            圆周率

      PHP输出方式

       

      **echo** 
      ​
              支持int, float, string, resource
      ​
              语法结构
      ​
              没有返回值
      ​
          **print | print()**
      ​
              支持int, float, string, resource
      ​
              语法结构 | 函数
      ​
              返回值: int
      ​
          **print_r**
      ​
              除了bool和null, 其余的都能输出
      ​
              函数
      ​
              返回值: bool
      ​
              var_dump
      ​
          **任意类型**
      ​
              函数
      ​
              没有返回值
      ​
              var_dump: 128个 more elements ... 
              print_r:  无上限

      PHP类型转换

       

      **自动类型**
      ​
              bool -> int         true : 1  |  false :0
                   -> float
              
              int -> float 
      ​
              string -> int
                     -> float 
      ​
              从前向后数, 当碰到第一个不是数字时(. 和 e), 截断(后面不要了)
              '123abc' + 100          123 + 100
              'abc123' + 100          0 + 100
              'a1b2'   + 100          0 + 100
              '1b2a'   + 100          1 + 100
      ​
              '1.2e3'  + 100          1.2*10^3 + 100
              '1.2.3e4' + 100             1.2 + 100
              '1eee3'   + 100             1 + 100
      ​
          **强制类型**
      ​
              **临时**
      ​
                  通过运算符 来转换     (类型)变量      PS: 类型不支持特殊类型
      ​
                  通过函数 来转换
                  intval()
                  floatval()
                  boolval()
                  strval()
              **永久**
      ​
                  通过函数 来转换
                  settype(变量, 类型)

      运算符

       

       

      **算术运算符**
      ​
              + - * /         加减乘除
              %           取模
      ​
              ++ a++  ++a 自增自减
      ​
              .           拼接
      ​
          **. 赋值运算符**
      ​
              = 
              += 
              -= 
              *=      a *= b      =>  a = a * b
              /=
              %=
              .=
      ​
          
      ​
          **比较运算符**
      ​
              =
      ​
              < = >=
      ​
              === 
              !=   <>
              !==

      逻辑运算符

       

      逻辑与 && and  两边为真即为真, 一边为假即为假
      •       逻辑或  ||  or         两边为假即为假, 一边为真即为真
      •       逻辑非  !          真即是假, 假即是真
      •   
      •       PS: 如果前面的运算已经确定最终结果, 那么后面的代码不再执行
      •       PS: 与和或同时发生时, 从左往右运算
      ​
      •   一元运算符   ++ -- !  (类型)
      •    二元运算符   + - * / ....
      •   三元运算符   ?:
          完整格式
                  条件表达式 ? 成立 : 不成立 
      •   $a = 2;
      •   $a = 3;
      •   echo $a == 2?  '是2啊' :  '不2啊';
      •   echo '<hr>';
          条件 ? ( ?: ) : ( ?: )
      •   $lv = 9.2;
      •   echo $青铜lv < 6? '青铜' : ( $lv < 7 ?'白银': ($铂金lv < 8?'铂金': ($lv < 9?'钻石':'王者')) )  ;
      •   echo '<hr>';
      •   get         服务器以 $_GET 接收
      •   post    服务器以 $_POST 接收
      •   var_dump( $_GET );
      •   $xxx = $    _GET['ope'];
      •   echo $xxx;

      流程控制

       

      顺序结构: 代码从上往下依次执行
          分支结构: 通过if/switch进行 分支选择
          循环结构: 通过 while/ do_while/ for 循环
      ​
      ​
      ​
          **if 分支**
          3.1 if()        影响紧跟在if后面的一句话
          3.2 if(){}      影响在if后面的{}内的所有代码
          3.3 if(){ true环境 }else{ false环境 }
          3.4 if(){
          true环境
              }elseif(){
          二次true环境
              }else{
          二次false环境
          }   
          if用于定值, 用于范围判断
      ​
      ​
      ​
          **switch 定值分支**
          switch(标志){
          case '标志1':
          case '标志2':
          ...
          case '标志N':
          default: 以上标志都不存在时, 才会进入default
      ​
          }
      ​
          每个case, 默认从上往下依次执行, 
          如果只想执行某一个case, 在每个case的最后加 break;

      循环

          while 
      ​
              while( 条件表达式 ){
                  循环体 
              }
      ​
      ​
      ​
          do_while
      ​
              do{
                  循环体
              }while( 条件表达式 )
      ​
      ​
      ​
          for
      ​
              for( 1-初始值 ; 2-循环条件 ; 3-循环增量 ){
                  4-循环体
              } 
      ​
              1 2 4 3 2 4 3 2 4 3.. 
                2 = false 时, 则跳出循环
      ​
          特殊流程控制符
      ​
          continue    直接进入下一轮
          break       结束当前的循环
          die | exit  结束程序

      PHP与HTML混合写法

       

      <?php for(): ?> 
      ​
              **html代码**  
      ​
          <?php endfor ?>
      ​
      ​
      ​
          <?php if(): ?>
              **html代码**
          <?php endif ?>
      ​
      ​
      ​
          <?php if(): ?>
              **true环境**下的html代码
          <?php else: ?>
              **false环境**下的html代码
          <?php endif ?>
      ​
          <?php if(): ?>
              **true环境**下的html代码
          <?php elseif: ?>
              **二次true环境**下的html代码
          <?php else: ?>
              **二次false环境**下的html代码
          <?php endif ?>

      PHP函数

       

      系统函数:   
      ​
          自定义函数: 根据用户的需求来设计函数
      ​
          格式: 
              function 函数名( [参数1, 参数2, ...] )
              {
                  函数体
              }
      ​
          调用函数
      ​
          函数名()
          函数名( [参数, 参数, ...] )
      ​
          函数特性
      ​
          不调用不执行, 语法照常解析
      ​
          函数互不影响, 可以互相调用
      ​
          函数位置 和 调用函数位置 前后无所谓
      ​
          函数名
      ​
          规范: 由数字, 字母和下划线组成
      ​
          不能以数字开头
      ​
          不区分大小写
      ​
          不能重复
      ​
          形式: 
              驼峰命名法           myCodetext
              帕斯卡命名法      MyCodeText
              下划线命名法      my_code_text
      ​
          返回值 **return** 
      ​
          当函数执行到return时, 立马结束函数. 并返回到调用函数的地方
          自然结束: 没有return时, 默认有null
          通过return返回: 可以返回任意类型
      ​
          如何返回多个值, 通过数组返回 
      ​
      ​
      ​
          **参数**
      ​
          分类:
              实参: 调用函数时给的参数
              形参: 定义函数时给的参数
              
      ​
          实参个数 = 形参个数:  完美
          实参个数 > 形参个数:  多余的实参被抛弃
          实参个数 < 形参个数:  多余的形参, 要么当成未定义变量
                                            要么采用默认值
      ​
      ​
      ​
          **实参个数不确定时:**
              **func_get_args()**     以数组形式, 接收所有的实参
              **func_get_arg(n)**     获取实参列表中下标为n的值
              **func_num_args()**     获取实参的总个数
      ​
          
      ​
      ​
      ​
          **作用域**
      ​
          全局变量: 在函数外部定义的变量, 默认不能在局部环境中使用
          局部变量: 在函数内部定义的变量, 默认不能在全局环境中使用
          
          全局变量 在局部环境中使用, 通过$GLOBALS['全局变量名']使用
          局部变量 在全局环境中使用, 通过global声明局部变量
      ​
          静态变量: 在函数结束时, 不会消失,当再次调用此函数时, 会直接使用 上一次的静态值
      ​
      ​
      ​
          **变量技巧**
      ​
          可变函数: 将一个变量的值 作为函数名来使用
          引用函数: 形参接收实参的内存地址

      PHP数组

       

      分类:     
      ​
              索引数组: 下标为 int       
      ​
              关联数组: 下标为 string    
      ​
              格式1:        $数组名[ 下标 ] = 值      
      ​
              格式2:        $数组名 = [ 下标=>值, 下标=>值, ...];    
      ​
              格式3:        $数组名 = array( 下标=>值, 下标=>值, ... )
      ​
      ​
      ​
          数组下标
      ​
              下标 / 键 / 偏移量
      ​
              索引键:
                  完全没有下标时, 默认从0开始,
                  已经存在下标时, 默认从已有的最大下标+1
      ​
      ​
      ​
              关联键:
                  **true** = 1 = 1.0 = '1'
                  **fals**e = 0 = 0.0 = '0'
                  **null** = '' = 未定义变量 
                  **不能为 数组/对象/资源**
      ​
      ​
      ​
              **数组值**
      ​
                  **值: 任意类型**
                  **值 = 数组, 称之为: 多维数组**
      ​
      ​
      ​
               数组**遍历**
      ​
                  索引遍历: 适合 有规律的数字下标
                  指针遍历: 不需要初始值, 不需要增量
      ​
      ​
      ​
              **数组指针**
      ​
                  current()   返回当前指针所在的值
                  next()      下移一位
                  prev()      上移一位        
                  reset()     重置到第一位
                  end()       重置到最后一位
                  key()       返回当前指针所在的键
                  each()      返回当前指针所指向的键和值
      ​
      ​
      ​
               **循环**
      ​
                  **foreach( 数组名 as [ 键 => ] 值 ){**
                      循环体
                  **}*
      ​
      ​
      ​
              **预定义数组**
      ​
                  预定义数组
      ​
                  $GLOBALS
                  $_SERVER
                  HTTP_HOST       主机名
                  HTTP_REFERER    上一级来源地址
                  HTTP_USER_AGENT 浏览器版本
                  SERVER_NAME     服务器名
                  SERVER_ADDR     服务器IP地址
                  SERVER_SOFTWARE 服务器环境
                  REMOTE_ADDR     客户端IP地址
      ​
                  SCRIPT_FILENAME 脚本地址(盘符)
                  SCRIPT_NAME     脚本地址(网址)
                  REQUEST_URI     传输地址(带参数)
                  REQUEST_METHOD  传输方式
                  QUERY_STRING    传输参数
                  $_GET
                  $_POST
                      当action属性带参数, 
                      method = post,  $接收参数_GET 接收参数, $_POST接收表单值
                      method = get,   $_GET 接收表单, 而参数丢失
                                  解决方案: 将参数通过隐藏域传输
                  $_COOKIE
                  $_SESSION
                  $_FILES
      ​
                  file表单name名
      ​
                  form表单enctype = multipart/form-data
      ​
                  form表单method = post
                  $_REQUEST : 接收 get, post, cookie的值
      ​
      ​
      ​
               **字符串 -> 数组**
      ​
                  字符串当成 索引数组, 
                   第一个字符的下标为 0, 依次类推
                  字符的下标如果超出 字符串长度时, 返回 空字符串

      正则

       

          **定界符**
      ​
              //
      ​
              #
      ​
              {}
      ​
      ​
      ​
          **原子**
      ​
              可见原子   : 输出之后肉眼可见的字符
              不可见原子 : 输出之后肉眼看不见的字符
      ​
      ​
      ​
          **元字符**
      ​
              筛选方式 
      ​
              |  : 匹配两个或多个分支选择
              []  : 匹配里面任意一个原子
      ​
              \\\[^ ]: 匹配除中括号以外的任意一个原子
      ​
      ​
      ​
          **集合**
              \d  : 匹配任意一个数字 0-9 
              \D  : 匹配除数字以外的任意一个字符
              \s  : 匹配任意一个不可见原子
              \S  : 匹配任意一个可见原子
              \w  : 匹配任意一个数字, 字母和下划线
              \W  : 匹配除数字, 字母和下划线以外的任意一个字符
              .   : 匹配除换行符以外的任意一个字符
      ​
      ​
      ​
          **量词**      
      ​
              {n} : 匹配其前面的一个原子恰好n次        
      ​
              {n,}: 匹配其前面的一个原子至少n次        
      ​
              {n,m}: 匹配其前面的一个原子至少n次, 最多m次     
      ​
              : 0次, 1次或多次     ? : 0次或1次       + : 1次或多次
      ​
      ​
      ​
          **边界控制**        
      ​
              ^ : 以某个原子为开始        
      ​
              $ : 以某个原子为结尾    模式单元        
      ​
              ( ) : 整体为一个原子   
      ​
              模式选择        ( | ): 分隔多选一
      ​
      ​
      ​
           **模式修正符**
      ​
              U  贪婪/懒惰
                  贪婪 .*   匹配结果存在歧义时, 取其长
                  懒惰 .*?  匹配结果存在歧义时, 去其短
      ​
              x  忽略空白         忽略正则的空白
              i  不区分大小写   不区分正则的大小写
      ​
      ​
      ​
              **正则函数**
      ​
              preg_match(正则, 对象 [, 结果])   
              返回值: 成功匹配的次数
      ​
      ​
      ​
               **正则替换**
      ​
              preg_replace(正则, 替换值, 对象)
              返回值: 替换后的对象
      ​
      ​
      ​
              **正则过滤**
      ​
              preg_grep(正则, 数组)
              返回值: 过滤之后的数组
      ​
      ​
      ​
              **正则分组**
      ​
              模式单元: 子模式匹配
              后向引用: 
                  \1: 将第一个() 的值 重复到\1的位置
                  \2: 将第二个() 的值 重复到\2的位置
                  ...
      ​
                  取消子模式匹配:
                  (?:  )

      PHP时间

       

      **时间戳**
      ​
              time()  1970-现在的秒数
      ​
      ​
      ​
          **格式化时间**
      ​
              date(日期格式[, 时间戳])
              返回值: 格式化之后的时间
      ​
      ​
      ​
          **时区**
      ​
              date_default_timezone_set('时区') 
                                      **PRC   中国**
                                      **Asia  亚洲**
                                      UTC     世界标准时间
              date_default_timezone_get()
      ​
      ​
      ​
          **创建时间**
      ​
              mktime(时, 分, 秒, 月, 日, 年)
              返回值: 时间戳
      ​
      ​
      ​
          **字符串转时间**
      ​
              strtotime()
              返回值: 时间戳
      ​
      ##      **微秒**
      ​
              microtime()
              microtime(true)

      错误机制

       

      **错误领域**
      ​
              语法错误
      ​
              运行时错误
      ​
              逻辑错误
      ​
      ​
      ​
          **错误级别**
      ​
              error 致命错误
      ​
              warning 警告错误
      ​
              notice 提示错误
      ​
      ​
      ​
          **预定义数组**
      ​
              $GLOBALS
              $_GET
              $_POST
              $_SERVER
              $_COOKIE
              $_SESSION
              $_FILES
              $_REQUEST
      ​
      ​
      ​
           **屏蔽错误 (临时性)**
      ​
              给错误变量前面加 @
      ​
              通过 函数error_reporting 来屏蔽
      ​
      ​
      ​
          **屏蔽错误 (配置)**
      ​
              display_errors = On | Off
      ​
              error_reporting = ...
      ​
              ini_set()
              ini_get()
      ​
      ​
      ​
          **自定义错误**
      ​
              trigger_error(错误信息, 错误类型)
                                  E_USER_ERROR
                                  E_USER_WARNING
                                  E_USER_NOTICE自定义错误
              trigger_error(错误信息, 错误类型)
                                  E_USER_ERROR
                                  E_USER_WARNING
                                  E_USER_NOTICE
      ​
      ​
      ​
          **错误日志**
      ​
              error_log(错误信息, 消息类型, 目标文件)
               将错误信息存入 目标文件中
      ​
          
      ​
          **逻辑错误**
      ​
              既不报错, 又不终止程序, 结果还是错误
      ​
              排除方法: 断点法       在怀疑的变量后面加 die, 并输出查询
                   注释法        适合于前端

      PHP文件

       

      **文件属性**
      ​
      •       filetype()      文件类型
      •       filesize()      文件大小
      •       file_exists()   文件是否存在
      •       filectime()     创建的时间
      •       filemtime()     修改的时间
      •       fileatime()     访问的时间
      •       is_readable()   是否可读
      •       is_writeable()  是否可写
      ​
      ​
      ​
      •   **文件路径**
      ​
      •       dirname()       获取目录
      •       basename()      获取文件名
      •       parse_url()     解析url地址
      •       pathinfo()      解析盘符地址
      ​
      ​
      ​
      •   **递归函数**
      ​
      •       opendir()       打开目录, 返回资源
      •       readdir()       读取资源, 返回资源名
      •       closedir()      关闭资源
      •       is_file()       是否为文件
      •       is_dir()        是否为目录
      ​
      •           1 打开目录
      •           2 读取资源
      ​
      •               2.1 排除. 和 ..
      •               2.2 凑完整路径
      •               2.3 判断是否为文件
      •               2.4 判断是否为目录
      ​
      •           3 关闭资源
      ​
      •    **目录操作**
      ​
      •           mkdir()     建
      •           rmdir()     删
      •           opendir()
      •           readdir()
      •           closedir() 
      •           is_dir()
      •           dirname() 
      •           file_exists()   
      •           filetype()
      ​
      •   **文件操作**
      ​
      •           filetype()
      •           filesize()
      •           is_file()
      •           filectime()
      •           filemtime()
      •           fileatime()
      •           touch()
      •           unlink()
      •           is_readable()
      •           is_writeable()
      •           basename()
      •           rename()
      •           copy()
      •           fopen()     返回资源
      •           fread(资源, 大小)   
      •           fwrite(资源, 内容)
      •           fclose()
      •           file_exists()
      ​
      •   **文件加载**
      ​
      •           include 
      •               格式 include '文件路径'
      •            include('文件路径')
      •            include_once '文件路径'
      •            include_once('文件路径') 
      ​
      •           什么时候执行到include , 才会去加载
      ​
      •           可以重复加载.  只加载一次通过 include_once 实现
      ​
      •           如果加载失败, 不会终止程序
      •           require
      •           格式 require '文件路径'
                  require('文件路径')
      •            require_once '文件路径'
                  require_once('文件路径')    
      ​
      •           什么时候执行到require , 才会去加载
      ​
      •           可以重复加载.  只加载一次通过 require_once 实现
      ​
      •           如果加载失败, 会终止程序
      ​
      •   **文件内容**
      ​
      •           file_put_contents(文件路径, 内容)
      •           file_get_contents(文件路径)
      ​
      •   
      ​
      •   **上传文件**
      ​
      •           **上传文件的三个必要条件**
      ​
      •           file表单的name
      ​
      •           form表单的enctype = multipart/form-data
      ​
      •           form表单的method = post
      ​
      ​
      ​
      •           **大小限制**
      ​
      •           表单 MAX_FILE_SIZE        自定义
      ​
      •           post限制      post_max_size = 8M          如果超出post限   制, $_FILES接收不到值
      ​
      •           服务器限制   upload_max_filesize = 2M 
      ​
      ​
      ​
      •            **判断是否从post协议传输**
      ​
      •               is_uploaded_file() 
      ​
      ​
      ​
      •           **判断文件的类型**
      ​
      •               获取文件类型
      •               准备允许类型
      •               判断 获取文件类型 是否属于 允许类型
      ​
      •               *** 设置唯一的文件名**      
      ​
      •                   获取文件的扩展名        
      ​
      •                   设置唯一的文件名    uniqid() 
      ​
      •               *** 设置唯一的文件名**  
      ​
      •                   获取文件的扩展名        
      ​
      •                   设置唯一的文件名    uniqid() 
      ​
      ####            设置存储目录
      ​
      •               设置存储目录
      ​
      •               设计存储目录
      •               判断存储目录是否存在
      •               mkdir(目录路径, 权限 0777,  递归创建 true)
      ​
      ####            移动临时文件到存储目录
      ​
      •               移动临时文件 到 存储目录
      ​
      •               move_uploaded_file( 临时文件,  目录+文件名 )
      ​
      ​
      ​
      •               **多文件上传**
      ​
      •                多文件上传
      ​
      •               file表单 加属性 multiple
      •                    name名 加[]
      ​
      ####            文件下载
      ​
      •               header('content-Disposition:attachment;
      ​
      •                    filename=下载名');
      •               readfile(下载路径)

       

    展开全文
  • 了解网站常见脚本语言Asp //逐渐淘汰,基本都是小站点在使用AspxPhp //目前比较流行Jsp二.动态脚本与静态脚本AspAspxPhpJsp这些都是动态脚本.htm.html这些是静态脚本动态和静态的区别1.源码动态脚本显示的是执行后的...

    一.了解网站常见脚本语言
    Asp //逐渐淘汰,基本都是小站点在使用
    Aspx
    Php //目前比较流行
    Jsp




    二.动态脚本与静态脚本
    Asp 
    Aspx
    Php 
    Jsp
    这些都是动态脚本

    .htm
    .html
    这些是静态脚本



    动态和静态的区别
    1.    源码
    动态脚本显示的是执行后的效果
    静态脚本显示的就是实际的源码


    2.    数据库
    动态脚本可以与数据库进行交互。
    静态脚本无法与数据库进行交互。



    动态脚本发布文章,只需要在后台添加即可
    静态每一个文章都需要写一个静态的脚本,很麻烦。

     

    转载于:https://www.cnblogs.com/slothx/p/9164049.html

    展开全文
  • 第6章 ASP脚本语言 6.1 VBScript数据类型 6.2 VBScript变量 6.3 VBScript常数 6.4 VBScript运算符优先级 6.5 使用条件语句 6.6 使用循环语句 6.7 VBScript过程 6.8 VBScript编码约定 6.9 Javascript 6.10 小结 6.11 ...
  • 认识脚本语言 动态网站开发所需的Web构件儿  做一个网站必须用到的:  按F12
                                                                     
    
    认识脚本语言




    动态网站开发所需的Web构件儿

                   做一个网站必须用到的:


             按F12






                                                                                     
    展开全文
  • 服务器端语言(php,asp……), 英文就是 Server Side Included ( SSI ), 一般(大多数)都应用在网站开发上.... 最後得出一个动态生成的网页,如 jsp, asp ... 不过, SSI 也可以是脚本语言的一种(视乎你用的是甚麼 ssi...

    服务器端语言(php,asp……), 英文就是 Server Side Included ( SSI ), 一般(大多数)都应用在网站开发上. 方法就是将 编程的代码 嵌入到 html 内, 伺服器将网页传送到客户端 ( 看网页的人 ) 前将之解释并执行. 最後得出一个动态生成的网页, 如 jsp, asp 就是这类架构. 不过, SSI 也可以是脚本语言的一种(视乎你用的是甚麼 ssi ), 但 ssi 却需要依赖伺服的支持才能执行的.
    脚本语言,Scripting Language, 就是一些程序, 不需要像 c 那样需预先编译 (compile) 才能运行, 而是直到执行的那一刻才由解释器(interpreter) 去解释并执行. 在网页开发上, scripting language 可以有两种体现. 一个是 Javascript, 由浏览器来解释; 另一个是 CGI script, 由伺服器端的 interpreter 来解释. CGI 可以是用任何语言来成就的, 只要其输出符合 HTTP(S) 协议就行. 

    转载于:https://www.cnblogs.com/wenjingChen/p/9287284.html

    展开全文
  • 服务器端脚本语言的比较

    千次阅读 2018-06-07 09:02:00
    服务器端脚本语言的比较 1.CGICommon GateWay Interface是最早用来创建动态网页的...2.ASPActive Server Page是一种使用很广泛的开发动态网站的技术,它通过在页面代码种嵌入VBScript和JavaScript脚本语言来生成动...
  • 3、javascript脚本语言

    2016-06-15 17:03:22
    JavaScript是web中脚本语言,由客户端浏览器解释执行,可应用在JSP、PHP、ASP等网站中。 随着Ajax进入web开发的主流市场,JavaScript用的已越来越多。 本章介绍JavaScript基本语法、常用对象及DOM技术。 ...
  • PHP是一种开源,跨平台,嵌入HTML内部的服务器端执行的脚本语言,常用于开发动态网站。PHP作为预处理器,能够在服务器端动态生成HTML。通常开发者只要写好HTML模板,在数据变化的位置嵌入PHP代码,就能实现动态网页...
  • 代码的动态编译并执行是.NET平台提供给我们的很强大的一个工具,用以...一个简单的例子,为了网站那的响应速度,HTML静态页面往往是我们最好的选择,但基于数据驱动的网站往往又很难用静态页面实现,那么将动态页面生
  • JavaScript由客户端浏览器解释执行,可以用于JSP、PHP、ASP等网站中,不需要进行编译,可以将静态页面转变成动态页面,javaWeb中常用于数据验证、控制浏览器,生成时钟、日历和时间戳文化等。 javascript主要功能 一...
  • Python在TIOBE排行榜排名连续攀升,它的优势掩盖了一个严肃的问题:其他的脚本语言去哪儿了?据2017年11月的TIOBE指数显示,其他语言(如Perl,PHP和Ruby)排名正在缓慢下滑。 不久之前,脚本语言风靡一时。动态类型...
  • 脚本语言编译器的猜测~~

    千次阅读 2005-03-19 15:37:00
    今天看见一个网站上面声称它的产品可以将Javascript这样的脚本语言编译成可执行文件,我对上面这样的说法持怀疑态度,因为按我所知道的编译理论来说,像javascript这样的动态类型语言是无法编译的动态类型语言不是弱...
  • ASP是目前学习网页动态程序最基本的程序语言之一。通过对本教程的学习实践,你能更快的掌握ASP在动态网页设计中的一些问题,同时为制作网站等提供最大的方便!
  • ASP是目前学习网页动态程序最基本的程序语言之一。通过对本教程的学习实践,你能更快的掌握ASP在动态网页设计中的一些问题,同时为制作网站等提供最大的方便!
  • PB动态脚本解释器

    千次阅读 2013-12-01 11:47:55
    PB动态脚本解释器   当你看到VB、VFP等开发语言提供的强大的宏执行功能,是不是很羡慕呢?当你寻遍PB的帮助、关于PB开发的书籍或网站而不可得的时候,是不是感到有一丝的遗憾?如果你看到这篇文章,你应该感到...
  • PB动态脚本解释器(转载) 当你看到VB、VFP等开发语言提供的强大的宏执行功能,是不是很羡慕呢?当你寻遍 PB的帮助、关于PB开发的书籍或网站而不可得的时候,是不是感到有一丝的遗憾?如果你看到这篇文章,你应该感到...
  • 1.可生成动态页面内容 2.创建、打开、读取、写入、关闭服务器上的文件 3.收集表单数据 4.发送和接收cookies 5.添加、删除、修改数据库中的数据 6.限制用户访问你的网站上的一些页面 7.加密数据 可输出图像、...
  • 开发动态网站所需的构件 动态网站的开发不同于其他的应用程序开发,它需要有多种开发技术结合在一起使用。每种技术的功能各自独立而又要相互配合才能完成一个动态网站的建立,使用我们需要掌握以下Web构件,才能...
  • 动态网站特点: 执行后的代码与原代码不一致动态脚本语言: asp、jsp、aspx、php。。。。静态网站特点: 执行后的代码和原代码是一致,显示内容为执行后结果静态脚本语言: html、htm伪静态: 将动态脚本语言转换为...
  • 动态网页:使用网页脚本语言,比如php、JSP等,通过脚本将网站内容动态存储到数据库,用户访问网站是通过读取数据库来动态生成网页的方法。 WSGI(Web Server Gateway Interface)是一个统一的Python接口标准(PEP ...
  • 常常需要把我们的HTML页面写成动态的,这样更能增强用户的体验感,也能提高HTML页面处理问题的能力,减少服务器和网络带宽的压力,有效的提高网站效率和用户感知,下面我来简单的介绍一下现在最常用的几种动态语言。...
  • PHP动态网站开发技术

    2016-09-05 16:19:00
    既然要说动态网站,我们先回顾一下静态网站; 什么是静态网站? WebUI:HTML、CSS、JavaScript; HTML:超文本标记语言; CSS:层叠样式表; JavaScript:脚本语言,用来给我们的静态页面增加一些动态的效果,...
  • ASP(Active Server Pages)动态网页,是微软公司...ASP的主要优点大概可以归纳如下:  <br />1、您可以用 VBScript 或JScript创建脚本,同时结合HTML语言就能够非常方便地完成网站的应用程序。对于VBScr
  • 网站开发语言比较

    2009-10-16 15:04:53
    ==网站开发:Asp,PHP,JSP,.Net几种网站开发语言比较== ...ASP采用脚本语言VBScript(Java script)作为自己的开发语言。  PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法...
  • 教程名称:《ASP动态网站制作实例教程...HTML基础【】《ASP动态网站制作实例教程》第4章:VBscript脚本语言【】《ASP动态网站制作实例教程》第5章:AS 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
  • 网站开发语言

    千次阅读 2011-08-14 15:55:17
    PHP,Hypertext Preprocessor,最初在95年问世(那时以前叫Personal Home Page)。PHP最初是制作动态网页的服务器端脚本语言,但现在PHP已经可以作为command line运行有GUI的standalone的程序。现在是PHP Group

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,167
精华内容 466
关键字:

动态网站脚本语言