前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP第二节

PHP第二节

作者头像
用户3461357
发布2019-08-02 14:35:03
1.4K0
发布2019-08-02 14:35:03
举报
文章被收录于专栏:web前端基地web前端基地

字符串函数

  • str_replace(查找的值,替换的值,执行替换操作的字符) 字符串替换
  • trim(字符串); 去除字符串首尾处的空白字符
  • explode(分割符,执行分割的字符串); 使用一个字符串分割另一个字符串
  • implode(连接符,执行连接的数组); 将一个一维数组的值拼接为字符串
  • substr( 字符串,起始索引,截取长度 ); 返回字符串的子串
  • strchr(字符串,标识字符); 从左向右查找指定的字符,并返回该字符后全部字符
  • strrchr(字符串,标识字符); 从右向左查找指定的字符,并返回该字符后全部字符串

include文件引入

介绍

不同的页面中有相同的代码部分,可以将其分离为单个文件。需要调用时,include 引入对应的文件即可调用。提高代码的复用率。

语法

代码语言:javascript
复制
include | include_once   "文件的路径"

include 与 include_once区别

  • include 可以重复引入文件
  • include_once 只引入一次,防止多次引入文件

页面动态渲染

  • PHP本身支持与HTML混编
  • 混编的文件后缀必须为 .php, Apache 才会调用 PHP 解析
  • PHP与HTML混编时,服务器中的 PHP 引擎 只会执行php标签内部的PHP代码,非PHP的代码(PHP标签外部的内容)直接忽略,最后会将PHP的执行结果和非PHP代码 一起返回给浏览器,由浏览器进行解析
  • <?php header('content-type:text/html;charset=utf-8'); echo 2+3; // php的引擎 只会执行php代码块中代码,代码块外面的代码会被忽略 // 最后 服务器会将php执行的结果 和代码块外面的内容一起返回给 浏览器, // 由浏览器进行解析 ?> <a href="http://www.baidu.com">百度一下</a>

二维数组

数组中的每一个元素,又是一个数组

代码语言:javascript
复制
   //二维数组的形式
    $arr=[
        [2,3,4,5,6],
        [2,3,4,5,6],
        [2,3,4,5,6],
        [2,3,4,5,6]
    ];
//二维关联数组
    $info=[
        [
            "name"=>"zs",
            "age"=>18,
            "sex"=>"男"
        ],
        [
            "name"=>"ls",
            "age"=>18,
            "sex"=>"女"
        ],
        [
            "name"=>"ww",
            "age"=>19,
            "sex"=>"男"
        ]        
    ]

PHP数据读写到文件(数据持久化)

程序运行过程中,数据存储在内存中的,程序结束, 数据会销毁

如果希望可以永久存储某些数据,可以将数据存储在硬盘上(存储在文件中)

将数据由 内存 存储到硬盘的过程,称为数据持久化;

  • file_get_contents(path) 根据路径读取文件内容, 得到一个字符串
  • file_put_contents(path,$str) 将一个字符串写入到一个文件中。
  • json_encode($data); 将PHP变量转成JSON格式字符串。
  • json_decode($str,true); 将 JSON 字符串, 转换为 PHP 数组。

表单处理

表单(form):表单用于收集用户输入信息,并将数据提交给服务器。是一种常见的与服务端数据交互的一种方式

代码语言:javascript
复制
//1. action: 指定表单的提交地址
//2. method: 指定表单的提交方式,get/post,默认get
//3. input的数据想要提交到后台,必须指定name属性,后台通过name属性获取值
//4. 想要提交表单,不能使用input:button 必须使用input:submit

php获取表单数据

代码语言:javascript
复制
 // $_GET 是 PHP 系统提供的一个超全局变量,是一个数组,里面存放了表单通过get方式提交的数据。
 // $_POST 是 PHP 系统提供的一个超全局变量,是一个数组,里面存放了表单通过post方式提交的数据。

get与post的区别

代码语言:javascript
复制
//1. get方式
//1.1 数据会拼接在url地址的后面?username=pp&password=123456
//1.2 地址栏有长度限制,因此get方式提交数据大小不会超过4k
//2. post方式
//2.1 数据不会在url中显示,相比get方式,post更安全
//2.2 提交的数据没有大小限制, 可用于文件上传

文件上传

html要求

代码语言:javascript
复制
1. 文件上传的提交方式必须是post方式
2. 需要给form指定enctype="multipart/form-data"
3. 指定name属性,后台才能获取到

php相关

  • 文件上传时,通过$_FILES才能获取到,这是一个二维数组。 Array ( [photo] => Array ( [name] => 001.jpg // 文件名字 [type] => image/jpeg // 文件类型 [tmp_name] => C:\Users\Jepson\AppData\Local\Temp\phpF2A0.tmp // 上传图片保存的位置 [error] => 0 // 上传错误码, 错误码为 0 表示没有错误 [size] => 6000 // 文件大小, 单位字节, 大小 6kb 左右 ) )
  • 上传文件时,文件会临时保存在服务器上,如果文件最终没有保存,那么临时文件会被删除,保证服务器安全。
  • sleep(10) 可以让代码延迟10秒钟才执行。
  • move_uploaded_file($path, $newPath);可以保存临时图片
代码语言:javascript
复制
  // 保存图片的完整代码
  // 思路:
  // 1. 在文件上传成功的情况下, 进行图片的保存   error === 0
  // 2. 获取临时文件路径
  // 3. 随机生成新的文件名, 注意文件中后缀名是不能改变的
  // 4. 根据新的文件名, 转移临时文件

  $file = $_FILES['photo'];

  // 判断上传是否成功
  if ( $file['error'] == 0 ) { // 上传成功
    // 1. 获取临时文件路径
    $ftemp = $file['tmp_name'];

    // 2. 随机生成新的文件名, 后缀不能随便起, 要获取一下
    $name = $file['name'];
    $ext = strrchr($name, '.');
    // 为了防止重复, 生成随机的文件名以当前时间秒数+随机数组成
    $newName = time().rand(10000,99990).$ext;

    // 3. 进行转存
    move_uploaded_file($ftemp, "./upload/$newName");
  }

表单标签的使用

常见的输入类型:文本域(type=text)、单选按钮(type=radio)、多选按钮(复选项 type=checkbox)、下拉菜单(select>option)

单选按钮 radio

input标记的type =radio,单选按钮。

  1. 注意通过 name 属性进行分组
  2. 必须设置 value 值, value 值会被提交到服务器中
  3. 通过 checked 进行默认选中

html结构

代码语言:javascript
复制
<form action="01-radio.php" method="get">
   <input type="radio"  name="sex" value="male"> 男
   <input type="radio" checked name="sex" value="female"> 女
   <input type="radio"  name="sex" value="unknown"> 未知
   <input type="submit" value="登陆">
</form>

复选框 checkbox

input的type =checkbox,可以同时选择多个选项。

  • name命名形式必须为:name[],最终数据才能以数组的格式,将各个选项的值同时提交,否则只能提交最后一个勾选的属性值。不同的选项值,以数组元素的形式提交。

html结构

代码语言:javascript
复制
<form action="02-checkbox.php" method="get">
    爱好:
    <input type="checkbox" name="hobby[]" value="eat"> 吃饭
    <input type="checkbox" name="hobby[]" value="sleep"> 睡觉
    <input type="checkbox" name="hobby[]" value="doudou"> 打豆豆
  
    <input type="submit" value="登陆">
</form>

下拉列表

select >option 实现的是下拉菜单。

  1. name属性必须设置, 设置给 select。
  2. value值为必须设置, 设置给 option。
  3. 通过给 option 加 selected 设置默认选中项

html结构如下:

代码语言:javascript
复制
<form action="./03-select.php" method="get">
    城市:
    <select name="city">
         <option value="1">上海市</option>    
         <option value="2" selected >北京市</option>    
         <option value="3">天津市</option>    
         <option value="4">西红柿</option>    
    </select>  
    <input type="submit" value="登录">
</form>
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端基地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字符串函数
  • include文件引入
  • 页面动态渲染
  • PHP数据读写到文件(数据持久化)
  • 表单处理
    • 文件上传
    • 表单标签的使用
      • 单选按钮 radio
        • 复选框 checkbox
          • 下拉列表
          相关产品与服务
          数据保险箱
          数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档