php文件操作函数封装

<?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');

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容