php文件操作类(创建文件,写文件,创建目录与删除目录等)

发布时间:2020-12-13编辑:脚本学堂
php文件操作类代码,常见文件操作方法,包括了创建文件、写入文件、移动与删除文件、创建目录与删除目录、获取文件信息等。

例了,php文件类代码:
 

复制代码 代码示例:

class fileInit {
/**
*创建空文件
*@param  string  $filename  需要创建的文件
*  @return
*/
public function create_file($filename) {
   if (file_exists($filename)) return false;
   $this->create_dir(dirname($filename)); //创建目录
   return @file_put_contents($filename,'');
}

/**
*写文件
*@param  string  $filename  文件名称
*@param  string  $content   写入文件的内容
*@param  string  $type 类型,1=清空文件内容,写入新内容,2=再内容后街上新内容
*  @return
*/
  public function write_file($filename, $content, $type = 1) {
  if ($type == 1) {
  if (file_exists($filename)) $this->del_file($filename); //删除文件
  $this->create_file($filename);
  return $this->write_file($filename, $content, 2);
   } else {
  if (!is_writable($filename)) return false;
  $handle = @fopen($filename, 'a');
  if (!$handle) return false;
  $result = @fwrite($handle, $content);
  if (!$result) return false;
  @fclose($handle);
  return true;
   }
}

/**
*拷贝一个新文件
*@param  string  $filename文件名称
*@param  string  $newfilename 新文件名称
*  @return
*/
public function copy_file($filename, $newfilename) {
   if (!file_exists($filename) || !is_writable($filename)) return false;
   $this->create_dir(dirname($newfilename)); //创建目录
   return @copy($filename, $newfilename);
}

/**
*移动文件
*@param  string  $filename文件名称
*@param  string  $newfilename 新文件名称
*  @return
*/
public function move_file($filename, $newfilename) {
   if (!file_exists($filename) || !is_writable($filename)) return false;
   $this->create_dir(dirname($newfilename)); //创建目录
   return @rename($filename, $newfilename);
}

/**
*删除文件
*@param  string  $filename  文件名称
*  @return bool
*/
public function del_file($filename) {
   if (!file_exists($filename) || !is_writable($filename)) return true;
   return @unlink($filename);
}

/**
*获取文件信息
*@param  string  $filename  文件名称
*  @return array('上次访问时间','inode 修改时间','取得文件修改时间','大小','类型')
*/
public function get_file_info($filename) {
   if (!file_exists($filename)) return false;
   return array(
  'atime' => date("Y-m-d H:i:s", fileatime($filename)),
  'ctime' => date("Y-m-d H:i:s", filectime($filename)),
  'mtime' => date("Y-m-d H:i:s", filemtime($filename)),
  'size'  => filesize($filename),
  'type'  => filetype($filename)
   );
}

/**
*创建目录
*@param  string  $path   目录
*  @return
*/
public function create_dir($path) {
   if (is_dir($path)) return false;
   fileInit::create_dir(dirname($path));
   @mkdir($path);
   @chmod($path, 0777);
   return true;
}

/**
*删除目录
*@param  string  $path   目录
*  @return
*/
public function del_dir($path) {
   $succeed = true;
   if(file_exists($path)){
  $objDir = opendir($path);
  while(false !== ($fileName = readdir($objDir))){
 if(($fileName != '.') && ($fileName != '..')){
chmod("$path/$fileName", 0777);
if(!is_dir("$path/$fileName")){
if(!@unlink("$path/$fileName")){
   $succeed = false;
   break;
}
}
else{
self::del_dir("$path/$fileName");
}
 }
  }
  if(!readdir($objDir)){
 @closedir($objDir);
 if(!@rmdir($path)){
$succeed = false;
 }
  }
   }
   return $succeed;
}
}