Blogger Information
Blog 77
fans 0
comment 0
visits 55232
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
实战:递归函数,删除指定目录;字符串操作函数;url函数的使用
Jet的博客
Original
571 people have browsed it

一些重点函数内容:

目录函数

readdir: 从目录句柄中读取条目,成功则返回条目名,失败false;
opendir: 打开目录句柄,如果成功则返回目录句柄的resource,否则false;
closedir: 关闭目录句柄;


文件系统函数

unlink :删除文件,成功true,失败false;
is_dir: 判断文件名是否是一个目录,如果文件名存在且是目录,返回true,否则false;
rmdir:尝试删除 directory 所指定的目录;


一、实战:递归函数,删除目录

  1. <?php
  2. /**
  3. * 函数是完成特定功能的代码块
  4. */
  5. // 递归函数
  6. /**
  7. * delete_dir_file 删除指定目录
  8. * params: 指定需要删除的目录路径
  9. * return: 返回布尔值 成功true 失败false
  10. */
  11. if(!function_exists('delete_dir_file'))
  12. {
  13. function delete_dir_file($dir)
  14. {
  15. // 声明一个初始状态 默认情况下缓存未被删除
  16. $flag = false;
  17. // is_dir: 判断文件名是否是一个目录,如果文件名存在且是目录,返回true,否则false
  18. if(is_dir($dir))
  19. {
  20. // opendir: 打开目录句柄,如果成功则返回目录句柄的resource,否则false
  21. if($handle = opendir($dir))
  22. { // readdir: 从目录句柄中读取条目,成功则返回条目名,失败false
  23. /* $file = readdir($handle);
  24. echo $file; */
  25. // 遍历目录
  26. while (($file = readdir($handle)) !== false){
  27. // echo $file . '<br />';
  28. echo $file . '</br />';
  29. if($file != '.' && $file != '..')
  30. {
  31. if(is_dir($dir.DIRECTORY_SEPARATOR.$file))
  32. {
  33. delete_dir_file($dir.DIRECTORY_SEPARATOR.$file);
  34. } else {
  35. unlink($dir.DIRECTORY_SEPARATOR.$file);
  36. }
  37. }
  38. };
  39. }
  40. // closedir: 关闭目录句柄
  41. closedir($handle);
  42. if (rmdir($dir)) $flag = true;
  43. return $flag;
  44. }
  45. }
  46. }
  47. $del_path = __DIR__ . DIRECTORY_SEPARATOR . 'test';
  48. //echo $del_path;
  49. if(delete_dir_file($del_path))
  50. {
  51. echo json_encode(['msg' => '缓存删除成功','code' =>0],320);
  52. }else{
  53. echo json_encode(['msg' => '缓存删除失败','code' =>1],256);
  54. };


二、字符串操作函数

2.1、implode: 数组 -> 字符串

用字符串连接数组元素

  1. $url = "http://tpedu.io/20230308/demo2.php";
  2. $arr = ['html', 'css', 'js', 'vue'];
  3. echo implode(",", $arr) . "<br />";
  4. var_dump($arr);

2.2、explode: 字符串 -> 数组

使用一个字符串分割另一个字符串

  1. $pathinfo = $_SERVER['REQUEST_URI'];
  2. var_dump($pathinfo);
  3. $arr = explode("/", $pathinfo);
  4. var_dump($arr);
  5. // array_pop 从尾部甩出最后一个元素;
  6. array_pop($arr);
  7. // 方法
  8. $action = array_pop($arr);
  9. // 控制器
  10. $controller = array_pop($arr);
  11. echo $controller . " . " . $action;


2.3、str_replace

@str_replace(检查关键字,替换内容,监测语句,次数) : 字符串替换函数

  1. $search = ['交友', '广告', '转账', '陪聊'];
  2. $flag = ['**', '$$', '00', '@@'];
  3. $news = '本公司承接各类广告代理,提供转账陪聊服务...';
  4. echo "原句:" . $news . "<br />";
  5. echo "替换:" . str_replace($search, $flag, $news, $const). "<br />";
  6. if(!$const !==0){
  7. echo '提示:聊天内容带有敏感词,请保护好个人财产';
  8. }


2.4、substr mt_substr:字符串查找函数

  1. // substr(内容,开始坐标,截取多少位): 针对英文字符的截取
  2. // 生成随机函数
  3. $color = '#' . substr(md5(rand()),0,6);
  4. ?>
  5. <p style="color:<?= $color ?>">你好</p>
  6. <?php
  7. // mb_substr: 针对中文字符的截取
  8. echo mb_substr('php中文网',3,3);


三、url函数

3.1、parse_url()

解析 URL,返回其组成部分

  1. $url = "https://www.php.net/manual/zh/ref.strings.php?email=9526678@qq.com&id=1&gender=男";
  2. var_dump(parse_url($url));
  3. var_dump(parse_url($url, PHP_URL_PATH));


3.2、http_build_query()

生成url-encode之后的请求字符串

  1. $params = [
  2. 'city' => '苏州', // 要查询的城市
  3. 'key' => 'uwehqwjuehjbsdsdhk232323'
  4. ];
  5. $paramsString = http_build_query($params);
  6. var_dump($paramsString);


3.3、urlencode

urlencode 将字符串编码并将用于 URL 的请求部分

  1. echo urlencode($url);


3.4、urldecode : 解码

解码已编码的 URL 字符串

  1. echo urldecode('%E8%8B%8F%E5%B7%9E');


3.5、base64_encode

使用base64 对 string 进行编码

  1. $file = file_get_contents("https://wx2.sinaimg.cn/mw690/005OZPj8ly1hbsi593483j31e0230x29.jpg");
  2. //echo $file;
  3. $img = base64_encode($file);
  4. ?>
  5. <img src="data:image/jpeg;base64,<?= $img ?>" alt="模特">


3.6、base64_decode

对 base64 编码的 string 进行解码。

  1. base64_decode($img);
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post