<!-- 作业内容: 1.请用封装一个递归函数,要求删除缓存目录。 2.请建一个简单的用户表,并对这张表的数据进行CURD(增删查改)。 -->
递归函数删除缓存目录
- 递归函数:recursion 在函数内调用函数自身,但调用自身前有满足特定条件,否则会无限执行调用下去
opendir(path file)
:打开一个文件流readdir(path file)
:读取一个文件流closdir(path file)
:关闭打开的一个文件流rmdir(file)
:删除一个文件(前提是文件内容为空)unlink(path file)
:删除文件路径里面的内容isdir(path file)
:判断文件是否存在_DIR
:目录索引标签DIRECTORY_SEPARATOR
:自动识别操作系统路径符号
<?php
// __DIR__ 索引目录
// DIRECTORY_SEPARATOR / \ 反斜杠
// runtime 要删除的目录名
// is_dir is_dir(目录)判断是否是一个目录句柄,如果是返回ture 否则 返回false
$dir = __DIR__ . DIRECTORY_SEPARATOR . 'Mamba_Blog';
echo $dir;
// die();
function del_dir($dir)
{
// 用is_dir(路径)判断是否是一个目录句柄,是返回ture,否返回false
if (is_dir($dir)) {
// opendir(路径)来打开个这个文件夹句柄,先打开才能进行读写及关闭文件操作
if ($odir = opendir($dir)) {
// readdir($odir) 返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
// 用while遍历循环拿到$odir里面的文件夹及内容,如果打开的能容不绝对等于false 则执行下面操作
while (($file = readdir($odir)) !== false) {
if ($file != '.' && $file != '..') {
if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) {
// 重新组装当前子目录的路径,进入子文件夹的文件夹,继续操作,子文件夹
// 在函数内调用函数本身
del_dir($dir . DIRECTORY_SEPARATOR . $file);
} else {
// 组装出当前子目录的url 也是无限遍历的文件夹 用unlink进行删除文件夹内的文件
unlink($dir . DIRECTORY_SEPARATOR . $file);
}
// echo "$file";
}
}
// 循环完成后关闭打开的文件夹
closedir($odir);
// 上面是删除文件的子内容,当内容清空完毕后
// 下面删除文件夹
// 最后删除文件夹
if (rmdir($dir)) {
// 当rmdir($dir)为真,就等于已经删除了文件
$rmdir = true; //返回一个真
}
}
return $rmdir; //返回的真接收return回去
} else {
echo "{$dir}不是一个目录";
}
}
$res = del_dir($dir);
if ($res === true) {
echo '清除成功';
echo json_encode(['msg' => '请求成功', 'sataus' => 1], 320);
} else {
echo '清除失败';
}
echo '<hr>';
echo del_dir($dir);
[http://help10086.cn/0120/demo1.php]
数据进行 CURD(增删查改)
创建数据库
- 命令创建:
CREATE DATABASE `test` COLLATE 'utf8mb4_general_ci';
- 可视化数据库管理工具:
adminer.php
,phpMyadmin
等 - 创建数表:
CREATE TABLE `user` (
`id` int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE='InnoDB' COLLATE 'utf8mb4_general_ci';
插入数据
INSERT INTO `user` (`name`, `note`) VALUES ('he zhengchao', '');
查询数据
-- 查询所有,* 表示查询所有字段
SELECT * FROM `user`;
-- 条件查询
SELECT * FROM `user` WHERE `id` = '1';
SELECT `id`, `name` FROM `user` WHERE `id` = '1';
删除数据
- 删除、更新一般要带着 where 条件
DELETE FROM `user` WHERE ((`id` = '2'));
更新数据
UPDATE `user` SET `note` = 'zhuquan' WHERE `id` = '1';