php文件操作函数封装

header('content-type:text/html;charset=utf-8');

/**

* [create_file 创建文件]

* @param  string $filename [文件名]

* @return [type]          [true|false]

*/

function create_file(string $filename) {

  if (file_exists($filename)) {

    return false;

  }

  // 判断文件类型是否为目录, 如果不存在则创建

  if (!file_exists(dirname($filename))) {

    mkdir(dirname($filename), 0777, true);

  }

  if(touch($filename)) {

    return true;

  }

  return false;

}

/**

* [del_file 删除文件]

* @param  string $filename [文件名]

* @return [type]          [true|false]

*/

function del_file(string $filename) {

  // 如果文件不存在或者权限不够, 则返回false

  if (!file_exists($filename)||!is_writeable($filename)) {

    return false;

  }

  if (unlink($filename)) {

    return true;

  }

  return false;

}

/**

* [copy_file 拷贝文件]

* @param  string $filename [文件名]

* @param  string $dest    [目标路径+文件名]

* @return [type]          [true|false]

*/

function copy_file(string $filename, string $dest) {

  if (!is_dir($dest)) {

    mkdir($dest, 0777, true);

  }

  // DIRECTORY_SEPARATOR '/'分割符

  $destName = $dest.DIRECTORY_SEPARATOR.basename($filename);

  if(copy($filename, $destName)) {

    return true;

  }

  return false;

}

/**

* [rename_file 文件重命名]

* @param  string $oldname [原始文件名]

* @param  string $newname [新文件名]

* @return [type]          [true|false]

*/

function rename_file(string $oldname, string $newname) {

  if (!is_file($oldname)) {

    return false;

  }

  $path = dirname($oldname);

  $destName = $path.DIRECTORY_SEPARATOR.$newname;

  if(!is_file($destName)) {

    return rename($oldname, $newname);

  }

  return false;

}

/**

* [cut_file 剪切文件]

* @param  [type] $filename [文件名]

* @param  [type] $dest    [目录名称]

* @return [type]          [true|false]

*/

function cut_file($filename, $dest) {

  if (!file_exists($filename)) {

    return false;

  }

  // 检测文件目录是否存在, 如果不存在则创建

  if (!is_dir($dest)) {

    mkdir($dest, 0777, true);

  }

  // 检测文件夹是否包含同名文件

  $destName = $dest.DIRECTORY_SEPARATOR.basename($filename);

  // 如果是一个文档则returnfalse 如果不是文档则剪切文档

  if (!is_file($destName)) {

    return rename($filename, $destName);

  }

  return false;

}

cut_file('2.txt', 'a');

你可能感兴趣的:(php文件操作函数封装)