HTTP:一种超文本的传输协议,是计算机与计算机沟通的一种标准协议,现在一般为端与端之间的通信。
1、约定内容

  • 请求/响应报文格式
  • 请求方法 GET/POST
  • 响应状态 200/404/302/304
  • 预设的请求/响应头

PHP中的header函数用于设置响应头
图片描述

<?php 
header('content-type:text/html');
?>

补充:

<?php 
header('Location:01.php');
?>

客户端浏览器在接受到这个头信息后自动跳转到指定地址


JSON
JSON:类似于js字面量的表达数据的手段

  1. JSON中属性名称必须用双引号
  2. JSON中字符串必须用双引号(js的字符串可以用单引号)
  3. JSON不允许注释

JSON数据类型
null:

 null

string:

"ssq"

boolean:

ture

number:

 12

object:

 {
    "name": "ssq",
    "age": 12,
    "gender": ture,
    "boyfrind": null
}

array:

 ["张三", "李四", "王五"]

JSON基本格式

var obj = [
    {"name": "ss", "age": 12, "email": "ssss", "url": "sssss.com", "images": ["./images/01.jpg"]},
    {"name": "ss", "age": 12, "email": "ssss", "url": "sssss.com", "images": ["./images/01.jpg"]},
    {"name": "ss", "age": 12, "email": "ssss", "url": "sssss.com", "images": ["./images/01.jpg"]},
    {"name": "ss", "age": 12, "email": "ssss", "url": "sssss.com", "images": ["./images/01.jpg"]},
    {"name": "ss", "age": 12, "email": "ssss", "url": "sssss.com", "images": ["./images/01.jpg"]}
] 

JSON的转换
图片描述

在php中对JSON反序列化

<?php
$contents = file_get_contents('storage.json');
$data = json_decode($contents, true);
?>
及变成PHP中对象数组的形式
图片描述

01实例展示

<?php

// 获取文件中记录的数据,并展示到表格中(动态生成表格的HTML标签)
$contents = file_get_contents('storage.json');
// $contents => JSON 格式的字符串
// 把 JSON 格式的字符串转换为对象的过程叫做反序列化

// json_decode 默认反序列化时 将 JSON 中的对象转换为 PHP 中 stdClass 类型的对象
$data = json_decode($contents, true);
// $data => []

?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>音乐列表</title>
  <link rel="stylesheet" href="bootstrap.css">
</head>
<body>
  <div class="container py-5">
    <h1 class="display-4">音乐列表</h1>
    <hr>
    <div class="mb-3">
      <a href="add.php" class="btn btn-secondary btn-sm">添加</a>
    </div>
    <table class="table table-bordered table-striped table-hover">
      <thead class="thead-dark">
        <tr>
          <th class="text-center">标题</th>
          <th class="text-center">歌手</th>
          <th class="text-center">海报</th>
          <th class="text-center">音乐</th>
          <th class="text-center">操作</th>
        </tr>
      </thead>
      <tbody class="text-center">
        <?php foreach ($data as $item): ?>
        <tr>
          <td><?php echo $item['title'] ?></td>
          <td><?php echo $item['artist'] ?></td>
          <td><img src="<?php echo $item['images[0]'] ?>" alt=""></td>
          <td><audio src="<?php echo $item['source'] ?>" controls></audio></td>
          <td><button class="btn btn-danger btn-sm">删除</button></td>
        </tr>
        <?php endforeach ?>
      </tbody>
    </table>
  </div>
</body>
</html>

效果图
图片描述


荨520
6 声望1 粉丝