PHP 文件操作实用代码

1、检测目录是否存在

function check_dir($path, $create = false) {
      if (is_dir($path)) {
          return true;
      }
      return false;
}

2、创建目录

function create_dir($path) {
      if (! file_exists($path)) {
          if (mkdir($path, 0777, true)) {
              return true;
          }
      }
      return false;
}

3、检查文件是否存在

function check_file($path, $create = false, $content = null) {
      if (file_exists($path)) {
          return true;
      } 
      return false;
}

4、创建文件

function create_file($path, $content = null, $over = false) {
      if (file_exists($path) && ! $over) {
          return false;
      } elseif (file_exists($path)) {
          @unlink($path);
      }
      check_dir(dirname($path), true);
      $handle = fopen($path, 'w') or error('创建文件失败,请检查目录权限!');
      fwrite($handle, $content);
      return fclose($handle);
}

5、目录文件夹列表

function dir_list($path) {
      $list = array();
      if (! is_dir($path) || ! $filename = scandir($path)) {
          return $list;
      }
      $files = count($filename);
      for ($i = 0; $i < $files; $i ++) {
          $dir = $path . '/' . $filename[$i];
          if (is_dir($dir) && $filename[$i] != '.' && $filename[$i] != '..') {
              $list[] = $filename[$i];
          }
      }
      return $list;
}

6、目录文件列表

function file_list($path) {
      $list = array();
      if (! is_dir($path) || ! $filename = scandir($path)) {
          return $list;
      }
      $files = count($filename);
      for ($i = 0; $i < $files; $i ++) {
          $dir = $path . '/' . $filename[$i];
          if (is_file($dir)) {
              $list[] = $filename[$i];
          }
      }
      return $list;
}

7、目录下文件及文件夹列表

function path_list($path) {
      $list = array();
      if (! is_dir($path) || ! $filename = scandir($path)) {
          return $list;
      }
      $files = count($filename);
      for ($i = 0; $i < $files; $i ++) {
          $dir = $path . '/' . $filename[$i];
          if (is_file($dir) || (is_dir($dir) && $filename[$i] != '.' && $filename[$i] != '..')) {
              $list[] = $filename[$i];
          }
      }
      return $list;
}

8、删除目录及目录下所有文件或删除指定文件

 /**
   * 删除目录及目录下所有文件或删除指定文件
   * @param str $path 待删除目录路径
   * @param int $delDir 是否删除目录,true删除目录,false则只删除文件保留目录
   * @return bool 返回删除状态
   */
function path_delete($path, $delDir = false, $exFile = array()) {
      $result = true; // 对于空目录直接返回true状态
      if (! file_exists($path)) {
          return $result;
      }
      if (is_dir($path)) {
          if (! ! $dirs = scandir($path)) {
              foreach ($dirs as $value) {
                  if ($value != "." && $value != ".." && ! in_array($value, $exFile)) {
                      $dir = $path . '/' . $value;
                      $result = is_dir($dir) ? path_delete($dir, $delDir, $exFile) : unlink($dir);
                  }
              }
              if ($result && $delDir) {
                  return rmdir($path);
              } else {
                  return $result;
              }
          } else {
              return false;
          }
      } else {
          return unlink($path);
      }
}

9、拷贝文件夹

function dir_copy($src, $des, $son = 1) {
      if (! is_dir($src)) {
          return false;
      }      
      if (! is_dir($des)) {
          create_dir($des);
      }      
      $handle = dir($src);
      while (! ! $path = $handle->read()) {
          if (($path != ".") && ($path != "..")) {
              if (is_dir($src . "/" . $path)) {
                  if ($son)
                      dir_copy($src . "/" . $path, $des . "/" . $path, $son);
              } else {
                  copy($src . "/" . $path, $des . "/" . $path);
              }
          }
      }
      return true;
}

 

评论

  1. Windows Chrome 86.0.4240.198
    2 年前
    2022-12-09 16:41:16

    路过支持一下

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇