本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录,列出目录里的文件等功能,路径后面别忘了加"/"

创建指定路径下的指定文件

* @param string $path(需要包含文件名和后缀)

* @param boolean $over_write 是否覆盖文件

* @param int $time 设置时间。默认是当前系统时间

* @param int $atime 设置访问时间。默认是当前系统时间

  1. <?php
  2. /**
  3. *本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录
  4. * 列出目录里的文件等功能,路径后面别忘了加"/"
  5. */
  6. class fileoperate
  7. {
  8. var $path;// 文件路径
  9. var $name;//文件名
  10. var $result;//对文件操作后的结果
  11.  
  12. /**
  13. * 本方法用来在path目录下创建name文件
  14. *
  15. * @param string path
  16. * @param string name
  17. */
  18. function creat_file($path,$name)//建立文件
  19. {
  20. $filename=$path.$name;
  21. if (file_exists($filename))
  22. {
  23. echo "文件已经存在,请换个文件名";
  24. }
  25. else
  26. {
  27. if (file_exists($path))
  28. {
  29. touch($name);
  30. rename($name,$filename);
  31. echo "文件建立成功 </br>";
  32. }
  33. else{
  34. echo "目录不存在,请检查";
  35. }
  36. }
  37. }
  38.  
  39. /**
  40. * 本方法用来写文件,向path路径下name文件写入content内容,bool为写入选项,值为1时
  41. * 接着文件原内容下继续写入,值为2时写入后的文件只有本次content内容
  42. *
  43. * @param string_type path
  44. * @param string_type name
  45. * @param string_type content
  46. * @param bool_type bool
  47. */
  48. function write_file($path,$name,$content,$bool) //写文件
  49. {
  50. $filename=$path.$name;
  51. if ($bool==1) {
  52. if (is_writable($filename)) {
  53. $handle=fopen($filename,'a');
  54. if (!$handle) {
  55. echo "文件不能打开或文件不存在";
  56. exit;
  57. }
  58. $result=fwrite($handle,$content);
  59. if (!$result) {
  60. echo "文件写入失败";
  61. }
  62. echo "文件写入成功";
  63. fclose($handle);
  64. }
  65. else echo "文件不存在";
  66. }
  67. if ($bool==2) {
  68. if (!file_exists($filename)) {
  69. $this->creat_file($path,$name);
  70. $handle=fopen($filename,'a');
  71. if (fwrite($handle,$content));
  72. echo "文件写入成功";
  73.  
  74. }
  75. else {
  76. unlink($filename);
  77. $this->creat_file($path,$name);
  78. $this->write_file($path,$name,$content,1);
  79. echo "文件修改成功";
  80. }
  81. }
  82.  
  83. }
  84.  
  85. /**
  86. * 本方法删除path路径下name文件
  87. *
  88. * @param string_type path
  89. * @param string_type name
  90. */
  91. function del_file($path,$name){ //删除文件
  92. $filename=$path.$name;
  93.  
  94. if (!file_exists($filename)) {
  95. echo "文件不存在,请确认路径是否正确";
  96. }
  97. else {
  98. if (unlink($filename)){
  99. echo "文件删除成功";
  100. }
  101. else echo "文件删除失败";
  102. }
  103.  
  104. }
  105.  
  106. /**
  107. * 本方法用来修改path目录里name文件中的内容(可视)
  108. *
  109. * @param string_type path
  110. * @param string_type name
  111. */
  112. function modi_file($path,$name){ //文件修改
  113. $filename=$path.$name;
  114. $handle=fopen($filename,'r+');
  115. $content=file_get_contents($filename);
  116. echo "<form id='form1' name='form1' action='modi_file.php' method='post'>";
  117. echo "<textarea name=content rows='10'>content</textarea>文件内容";
  118. echo "<p>";
  119. echo "<input type='text' name='$filename' value=$filename />文件路径<p>";
  120. echo "<input name=ss type=submit value=修改文件内容 />";
  121. echo "</form>";
  122. }
  123.  
  124. /**
  125. * 本方法用来复制name文件从spath到dpath
  126. *
  127. * @param string name
  128. * @param string spath
  129. * @param string dpath
  130. */
  131. function copy_file($name,$spath,$dpath) //文件复制
  132. {
  133. $filename=$spath.$name;
  134. if (file_exists($filename)) {
  135. $handle=fopen($filename,'a');
  136. copy($filename,$dpath.$name);
  137. if (file_exists($dpath.$name))
  138. echo "文件复制成功";
  139. else echo "文件复制失败";
  140. }
  141. else echo "文件不存在";
  142. }
  143.  
  144. /**
  145. * 本方法把name文件从spath移动到path路径
  146. *
  147. * @param string_type path
  148. * @param string_type dirname
  149. * @param string_type dpath
  150. */
  151. function move_file($name,$spath,$dpath) //移动文件
  152. {
  153. $filename=$spath.$name;
  154. if (file_exists($filename)) {
  155. $result=rename($filename,$dpath.$name);
  156. if ($result==false or !file_exists($dpath))
  157. echo "文件移动失败或目的目录不存在";
  158. else
  159. echo "文件移动成功";
  160. }
  161. else {
  162. echo "文件不存在,无法移动";
  163. }
  164. }
  165. }
  166. ?>

php的多功能文件操作类的更多相关文章

  1. java csv 文件 操作类

    一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...

  2. Qt5:Qt文件操作类 QFile

    在QT中,操作文件一般不使用C++提供的文件操作类 , 因为操作文件的时候,要用到C++提供的 string 类,而在QT中使用的是Qt自己实现的一个string类 QString .在Qt中使用C+ ...

  3. C# 文件操作类大全

      C# 文件操作类大全 时间:2015-01-31 16:04:20      阅读:1724      评论:0      收藏:0      [点我收藏+] 标签: 1.创建文件夹 //usin ...

  4. File 文件操作类 大全

    File  文件操作类  大全 许多人都会对文件操作感到很难  我也是  但是一个好的项目中必定会涉及到文件操作的 文件的复制 粘贴  等等等 公司大佬写了 一个文件操作的工具类 感觉还是棒棒的啦   ...

  5. php文件操作类

    <?php /** *本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录 * 列出目录里的文件等功能,路径后面别忘了加"/" */ clas ...

  6. [C#] 常用工具类——文件操作类

    /// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...

  7. 文件操作类CFile

    CFile file; CString str1= L"写入文件成功!"; wchar_t *str2; if (!file.Open(L"Hello.txt" ...

  8. asp.net文件操作类

    /** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; usin ...

  9. android 文件操作类简易总结

    android 文件操作类(参考链接) http://www.cnblogs.com/menlsh/archive/2013/04/02/2997084.html package com.androi ...

随机推荐

  1. win 程序开机自启动设置

    若程序设置了开机自启动,但是仍没有效果,可能是被什么拦截了,或者什么原因.导致开机并没有自启动,那么如何解决呢? 解决方法:将软件的快捷方式 或 单个软件 直接拷贝到 如下目录,即可强制实现开机自启动 ...

  2. angular自定义module

    在app.module.ts里面,imports部分,添加你的自定义模块名在你的自定义模块内,添加了component以后,需要添加exports导出,类似下面 import { NgModule } ...

  3. 微信小程序框架 同时兼容QQ小程序

    最近一直在开发微信小程序,经过几个版本的迭代开发,代码终于能够达到框架级别,动态配置.除了界面有些寒酸以外,功能上还是挺完备的. 主要有以下特点 1.整个程序所需url地址均在api.js中定义,环境 ...

  4. CentOS7.5 使用 kubeadm 安装配置 Kubernetes1.12(四)

    在之前的文章,我们已经演示了yum 和二进制方式的安装方式,本文我们将用官方推荐的kubeadm来进行安装部署. kubeadm是 Kubernetes 官方提供的用于快速安装Kubernetes集群 ...

  5. ASP.NET Core 之跨平台的实时性能监控

    前言 前面我们聊了一下一个应用程序 应该监控的8个关键位置. . 嗯..地址如下: 应用程序的8个关键性能指标以及测量方法 最后卖了个小关子,是关于如何监控ASP.NET Core的. 今天我们就来讲 ...

  6. Mysql 添加用户并授所有权

    创建用户并授权GRANT ALL PRIVILEGES ON *.* TO 'caoxiaobo'@'%' IDENTIFIED BY 'Caoxiaobo0917!' WITH GRANT OPTI ...

  7. 不同版本的ArcMap在Oracle中创建镶嵌数据集的不同行为

    如果不同版本的ArcMap连接到同一个Oracle数据库上,分别执行"创建镶嵌数据集",它们的行为是一样的吗? 答案是:不一样,会有细微的差别 在本例中,ArcMap的版本分别是1 ...

  8. PHP多进程编程初步

    转自:https://www.pureweber.com/article/php-multi-process-programming-preview/ 羡慕火影忍者里鸣人的影分身么?没错,PHP程序是 ...

  9. C++中STL中简单的Vector的实现

    该vector只能容纳标准库中string类, 直接上代码了,StrVec.h文件内容为: #ifndef STRVEC_H #define STRVEC_H #include<iostream ...

  10. 一个基于tcp的socket简单对话小例子

    首先我们需要写连个py文件,一个server,一个client. import socket sk = socket.socket() # sk.bind(('ip',port)) sk.bind(( ...