<!-- 作业内容:1.请用封装一个递归函数,要求删除缓存目录。2.请建一个简单的用户表,并对这张表的数据进行CURD(增删查改)。-->

递归函数删除缓存目录

  • 递归函数:recursion 在函数内调用函数自身,但调用自身前有满足特定条件,否则会无限执行调用下去

opendir(path file) :打开一个文件流
readdir(path file) :读取一个文件流
closdir(path file) :关闭打开的一个文件流
rmdir(file):删除一个文件(前提是文件内容为空)
unlink(path file):删除文件路径里面的内容
isdir(path file):判断文件是否存在
_DIR :目录索引标签
DIRECTORY_SEPARATOR :自动识别操作系统路径符号

  1. <?php
  2. // __DIR__ 索引目录
  3. // DIRECTORY_SEPARATOR / \ 反斜杠
  4. // runtime 要删除的目录名
  5. // is_dir is_dir(目录)判断是否是一个目录句柄,如果是返回ture 否则 返回false
  6. $dir = __DIR__ . DIRECTORY_SEPARATOR . 'Mamba_Blog';
  7. echo $dir;
  8. // die();
  9. function del_dir($dir)
  10. {
  11. // 用is_dir(路径)判断是否是一个目录句柄,是返回ture,否返回false
  12. if (is_dir($dir)) {
  13. // opendir(路径)来打开个这个文件夹句柄,先打开才能进行读写及关闭文件操作
  14. if ($odir = opendir($dir)) {
  15. // readdir($odir) 返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
  16. // 用while遍历循环拿到$odir里面的文件夹及内容,如果打开的能容不绝对等于false 则执行下面操作
  17. while (($file = readdir($odir)) !== false) {
  18. if ($file != '.' && $file != '..') {
  19. if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) {
  20. // 重新组装当前子目录的路径,进入子文件夹的文件夹,继续操作,子文件夹
  21. // 在函数内调用函数本身
  22. del_dir($dir . DIRECTORY_SEPARATOR . $file);
  23. } else {
  24. // 组装出当前子目录的url 也是无限遍历的文件夹 用unlink进行删除文件夹内的文件
  25. unlink($dir . DIRECTORY_SEPARATOR . $file);
  26. }
  27. // echo "$file";
  28. }
  29. }
  30. // 循环完成后关闭打开的文件夹
  31. closedir($odir);
  32. // 上面是删除文件的子内容,当内容清空完毕后
  33. // 下面删除文件夹
  34. // 最后删除文件夹
  35. if (rmdir($dir)) {
  36. // 当rmdir($dir)为真,就等于已经删除了文件
  37. $rmdir = true; //返回一个真
  38. }
  39. }
  40. return $rmdir; //返回的真接收return回去
  41. } else {
  42. echo "{$dir}不是一个目录";
  43. }
  44. }
  45. $res = del_dir($dir);
  46. if ($res === true) {
  47. echo '清除成功';
  48. echo json_encode(['msg' => '请求成功', 'sataus' => 1], 320);
  49. } else {
  50. echo '清除失败';
  51. }
  52. echo '<hr>';
  53. echo del_dir($dir);

[http://help10086.cn/0120/demo1.php]

数据进行 CURD(增删查改)

创建数据库

  • 命令创建:
  1. CREATE DATABASE `test` COLLATE 'utf8mb4_general_ci';
  • 可视化数据库管理工具:adminer.php,phpMyadmin
  • 创建数表:
  1. CREATE TABLE `user` (
  2. `id` int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY
  3. ) ENGINE='InnoDB' COLLATE 'utf8mb4_general_ci';


插入数据

  1. INSERT INTO `user` (`name`, `note`) VALUES ('he zhengchao', '');

查询数据

  1. -- 查询所有,* 表示查询所有字段
  2. SELECT * FROM `user`;
  3. -- 条件查询
  4. SELECT * FROM `user` WHERE `id` = '1';
  5. SELECT `id`, `name` FROM `user` WHERE `id` = '1';

删除数据

  • 删除、更新一般要带着 where 条件
  1. DELETE FROM `user` WHERE ((`id` = '2'));

更新数据

  1. UPDATE `user` SET `note` = 'zhuquan' WHERE `id` = '1';

更多相关文章

  1. history命令时间格式设置教程
  2. Linux下的sed,和awk命令使用分析
  3. 用JS超简单的修改和删除cookie
  4. EXCEL将各个Sheet工作表另存为新工作簿
  5. Linux安装docker 配置Apache
  6. 中了exe病毒文件夹变exe应用程序解决方法
  7. Firefox logo仍包含小狐狸
  8. Android(安卓)- 利用Android(安卓)studio + Android(安卓)Killer
  9. 如何正确的删除表空间数据文件

随机推荐

  1. [Android][Memory Leak] InputMethodMana
  2. android 新浪微博sdk使用-分享
  3. Android(安卓)Studio中必须懂的Gradle(一
  4. android中Spinner特效
  5. Android面试系列文章2018之Java部分类加
  6. 深入分析Android(安卓)(build/core/*.mk
  7. Android(安卓)实现颜色渐变的一个小 tip
  8. Android中的文件扫描
  9. 在DDMS中FileExplore下什么都没有
  10. Android(安卓)java.lang.NoClassDefFound