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;
     }
 }    
php 文件操作类的更多相关文章
- [C#] 常用工具类——文件操作类
		/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ... 
- 文件操作类CFile
		CFile file; CString str1= L"写入文件成功!"; wchar_t *str2; if (!file.Open(L"Hello.txt" ... 
- asp.net文件操作类
		/** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; usin ... 
- android 文件操作类简易总结
		android 文件操作类(参考链接) http://www.cnblogs.com/menlsh/archive/2013/04/02/2997084.html package com.androi ... 
- Ini文件操作类
		/// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ... 
- java csv 文件 操作类
		一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ... 
- Qt5:Qt文件操作类 QFile
		在QT中,操作文件一般不使用C++提供的文件操作类 , 因为操作文件的时候,要用到C++提供的 string 类,而在QT中使用的是Qt自己实现的一个string类 QString .在Qt中使用C+ ... 
- C# 文件操作类大全
		C# 文件操作类大全 时间:2015-01-31 16:04:20 阅读:1724 评论:0 收藏:0 [点我收藏+] 标签: 1.创建文件夹 //usin ... 
- Java文件操作类效率对比
		前言 众所周知,Java中有多种针对文件的操作类,以面向字节流和字符流可分为两大类,这里以写入为例: 面向字节流的:FileOutputStream 和 BufferedOutputStream 面向 ... 
- JAVA文件操作类和文件夹的操作代码示例
		JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容, 新建目录,多级目录创建,新建文件,有编码方式的文件创建, 删除文件,删除文件夹,删除指定文件夹下所有文件, 复制单个文件,复制整个文件 ... 
随机推荐
- eclipse项目提交到git
			http://www.open-open.com/lib/view/open1406105786710.html 1.在https://github.com new repository 2.在e ... 
- Android系统五大布局详解Layout
			我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前, 视图都是由一个一个的组件构成的.组件就是我们常见的Button.TextEdit ... 
- Font Awesome 4.0.3 字体图标完美兼容IE7
			1.下载Font Awesome 4.0.3兼容包,http://www.thinkcmf.com/index.php?m=font 2.解压,并放到自己网站系统合适的位置(如果你的站已使用Font ... 
- MySQL 指定数据库字符集的 3 种方法。
			方法 1.创建数据库时指定字符集. create database Studio character set utf8; 方法 2.创建表的时候针对列指定字符集. create table T( x ... 
- delete 多表删除的使用(连表删除)
			delete 多表删除的使用 1.从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或 DELETE ... 
- C#调用API函数EnumWindows枚举窗口的方法
			原文 http://blog.csdn.net/dengta_snowwhite/article/details/6067928 与C++不同,C#调用API函数需要引入.dll文件,步骤如下: 1. ... 
- tls和ssl
			一个存在于 SSL 3.0 协议中的新漏洞于被披露,通过此漏洞,第三方可以拦截通过采用 SSL 3.0 的服务器传输的重要信息. 问题出在哪里? 与此问题相关的不是 SSL 证书本身,而是进行加密处理 ... 
- javascript第十八课:windowd对象的方法
			window.confirm('确定删除吗?'); //当用户点击一个按钮出发一个事件的时候,弹出一个提示框让网友确认,返回一个bool值,点确定的话,返回true,点取消,返回flase windo ... 
- Atom编辑器快捷键大全
			文件切换 ctrl-shift-s 保存所有打开的文件cmd-shift-o 打开目录cmd-\ 显示或隐藏目录树ctrl-0 焦点移到目录树目录树下,使用a,m,delete来增加,修改和删除cmd ... 
- cocos2d_android  瞬间动作
			该文章所写的瞬间动作主要有CCFlipX,CCFlipY,CCHide,CCShow 当中CCFlipX是以Y轴为中心旋转,CCFlipY是以X轴为中心旋转,CCHide将精灵对象隐藏,CCShow将 ... 
