PHP实现音乐列表的上传、展示、删除

本文介绍如何使用PHP实现音乐列表的管理,包括在list.php中列出文件内容,通过add.php添加新条目,以及在del.php中删除指定ID的条目。涉及文件读写、表单提交和数据处理。
摘要由CSDN通过智能技术生成

思路
list.php列表展示
1、从文件当中读取内容,并解码

$json = file_get_contents('data.json');
$songs = json_decode($json, true);

2、将数据展示在列表,利用foreach对数据一一显示在列表当中

<?php foreach ($songs as $item): ?>
        <tr>
          <td class="align-middle"><?php echo $item['title']; ?></td>
        </tr>
<?php endforeach ?>

add.php
1、表单提交给自身网页进行处理
2、给每个输入框一个name值
3、php处理的时候,可以通过$_POST[‘title’]对数据进行处理
4、处理之后将数据保存到文件/数据库当中

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<label for="title">标题</label>
        <input type="text" class="form-control " id="title" name="title"> 
<button class="btn btn-primary btn-block">保存</button>
</form>
// 读取已有数据
  $songs = json_decode(file_get_contents('data.json'), true);
  // 追加新数据
  $songs[] = $new_song;
  // 将追加的结果写入文件
  file_put_contents('data.json', json_encode($songs));

del.php
1、需要执行删除就必须提供你想要删除的是谁,获取要删除的ID
这里的话 是通过一开始从文件/数据库当中读取出来的$item[‘id’]值,就可以判断是要删除哪一个,同时删除按钮a标签?后面是可以附带值传输给后台的

 <a class="btn btn-outline-danger btn-sm" href="del.php?id=<?php echo $item['id']; ?>">删除</a>

2、从数据库/文件当中读取数据
3、通过ID在数据中找到对应要删除的键,删除之后将数据放回文件/数据库中

源码
del.php

<?php

// 只要有人请求我 del.php 我就执行删除操作
// 如果需要我执行删除就必须提供你想要删除的是谁
// 一般情况下如果客户端需要给服务端提供简单的数据标识,
// 这种情况都会采用URL 地址传递问号参数的方式传递

// 校验(客户端来的东西都不能信)
if (empty($_GET['id'])) {
   
  exit('你必须提供要删除的数据ID'); // exit 会直接结束脚本的运行
}

// 确保客户端提交了 ID
$id = $_GET['id'];

// 1. 读取已有数据
$json = file_get_contents('data.json');
// 2. 反序列化
$songs = json_decode($json, true);
// 3. 遍历数组找到要删除的元素
foreach ($songs as $item) {
   
  if ($item['id'] === $id) {
   
    // 找到了要删除的数据
    // 4. 在数组中删除这个元素
    // 4.1. 找到这个数据在数组的下标
    $index = array_search($item, $songs);
    array_splice($songs, $index, 1);
    // 5. 将删除过后的数组序列化成 JSON 字符串
    $new_json = json_encode($songs);
    // 6. 持久化
    file_put_contents('data.json', $new_json);
    break;
  }
}
// 跳转回去
header('Location: /songs/list.php');

add.php

<?php

function receive_form () {
   
  // global $error_type;
  // 1. 校验客户端提交的数据
  // 1.1. 校验标题
  // empty($_POST['title']) === !(isset($_POST['title']) && $_POST['title'] !== '')
  // empty函数的作用就是判断一个成员是否为空(未定义、值为false)
  if (empty
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值