设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP编程中PHP操作文件类

发布时间:2022-06-28 09:13 所属栏目:121 来源:互联网
导读:发一个刚写完的文件操作类 刚才又加了两个功能,又加了注释,高手一定帮我看看哪有问题啊,谢谢 file.class.php 以下为引用的内容: ?php /** *本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录 * 列出目录里的文件等
  发一个刚写完的文件操作类
 
  刚才又加了两个功能,又加了注释,高手一定帮我看看哪有问题啊,谢谢
 
  file.class.php
 
  以下为引用的内容:
  <?php
  /**
  *本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录
  * 列出目录里的文件等功能,路径后面别忘了加"/"
  *
  * @author 路人郝
  * @copyright myself
  * @link [url=http://www.phpr.cn]www.phpr.cn[/url]
  *
  */
  class fileoperate
  {
  var path;// 文件路径
  var name;//文件名
  var result;//对文件操作后的结果
 
  /**
  * 本方法用来写文件,向path路径下name文件写入content内容,bool为写入选项,值为1时
  * 接着文件原内容下继续写入,值为2时写入后的文件只有本次content内容
  *
  * @param string_type path
  * @param string_type name
  * @param string_type content
  * @param bool_type bool
  */
  function write_file(path,name,content,bool) //写文件
  {
  filename=path.name;
  if (bool==1) {
  if (is_writable(filename)) {
  handle=fopen(filename,'a');
  if (!handle) {
  echo "文件不能打开或文件不存在";
  exit;
  }
  result=fwrite(handle,content);
  if (!result) {
  echo "文件写入失败";
  }
  echo "文件写入成功";
  fclose(handle);
  }
  else echo "文件不存在";
  }
  if (bool==2) {
  if (!file_exists(filename)) {
  this->creat_file(path,name);
  handle=fopen(filename,'a');
  if (fwrite(handle,content));
  echo "文件写入成功";
 
  }
  else {
  unlink(filename);
  this->creat_file(path,name);
  this->write_file(path,name,content,1);
  echo "文件修改成功";
  }
  }
 
  }
 
  /**
  * 本方法删除path路径下name文件
  *
  * @param string_type path
  * @param string_type name
  */
  function del_file(path,name){ //删除文件
  filename=path.name;
 
  if (!file_exists(filename)) {
  echo "文件不存在,请确认路径是否正确";
  }
  else {
  if (unlink(filename)){
  echo "文件删除成功";
  }
  else echo "文件删除失败";
  }
 
  }
 
  /**
  * 本方法用来修改path目录里name文件中的内容(可视)
  *
  * @param string_type path
  * @param string_type name
  */
  function modi_file(path,name){ //文件修改
  filename=path.name;
  handle=fopen(filename,'r ');
  content=file_get_contents(filename);
  echo "<form id='form1' name='form1' action='modi_file.php' method='post'>";
  echo "<textarea name=content rows='10'>content</textarea>文件内容";
  echo "<p>";
  echo "<input type='text' name='filename' value=filename />文件路径<p>";
  echo "<input name=ss type=submit value=修改文件内容 />";
  echo "</form>";
  }
 
       * 本方法用来列出目录里的文件或目录switch为1时按字母顺序列出所有目录和文件
  * switch为2则只列出目录,switch为3时,只列出文件名
  *
  * @param string_type path
  * @param int_type switch
  */
  function list_filename(path,switch) //列出文件和目录名
  {
  if (file_exists(path)) {
  dir=scandir(path);
  if (switch==1){ //如果switch为1则按字母顺序列出所有目录和文件
  for (i=0;i<=count(dir);i )
  {
  if (dir[i]!="." and dir[i]!="..")
  {
  echo "dir[i]<br>";
  }
  }
  }
  if (switch==2) //switch为2则只列出目录
  {
  for (i=0;i<=count(dir);i )
  {
  x=is_dir(path.dir[i]);
  if (dir[i]!="." and dir[i]!=".." and x==true)
  {
  echo "dir[i]<br>";
  }
  }
  }
  if (switch==3) //switch为3时,只列出文件名
  {
  for (i=0;i<=count(dir);i )
  {
  x=is_dir(path.dir[i]);
  if (dir[i]!="." and dir[i]!=".." and x==false)
  {
  echo "dir[i]<br>";
  }
  }
  }
  }
  }
 
  /**

  * 本方法把filename文件重命名为newname文件
  *
  * @param string_type filename
  * @param string_type newname
  */
  function rename_file(filename,newname) { //文件或目录更名
  path=pathinfo(filename);
  dir=path['dirname']; //得到文件路径
  newfilename=dir.newname;
  if (file_exists(filename)) { //判断文件是否存在
  result=rename(filename,newfilename);
  if (result==true)
  echo "文件更名成功";
  else
  echo "文件更名失败";
  }
  else
  echo "文件不存在";
  }
 
  /**
  
  * 本方法在path目录下创建名为dirname的目录
  *
  * @param string_type path
  * @param string_type dirname
  */
  function creat_dir(path,dirname){ //创建目录
  if (file_exists(path)) {
  result=mkdir(path.dirname);
  if (result)
  echo "目录建立成功";
  else
  echo "目录建立失败";
  }
  else
  echo "路径不存在,请重新输入";
  }
 
  /**
  * 本方法删除pathname目录,包括该目录下所有的文件及子目录
  *
  * @param string_type pathname
  */
  function del_dir(pathname){ //删除目录及目录里所有的文件夹和文件
  if (!is_dir(pathname))
  {exit("你输入的不是一个目录,请检查") ;}
  handle=opendir(pathname);
  while ((fileordir=readdir(handle)) !== false) {
  if (fileordir!="." && fileordir!="..") {
  is_dir("pathname/fileordir")?
  this->del_dir("pathname/fileordir"):
  unlink("pathname/fileordir");
  }
  }
  if (readdir(handle) == false)
  {
  closedir(handle);
  rmdir(pathname);
  }
  }
  }
  ?>
 
  modi_file.php
 
  <?php
  include('file.class.php');
  content=_POST['content'];//得到文件内容
  //echo content;//
  filename=_POST['filename'];
  path=pathinfo(filename); //得到文件路径
  dir=path['dirname']."/"; //目录名
  name=path['basename']; //文件名
  op=new fileoperate();
  op->write_file("dir","name",content,2);
  ?>
 
  test.php
 
  <?php
  include('file.class.php');
  op=new fileoperate();
  //op->creat_file("./","aa3.txt");
  //op->del_file("./","aa3.txt");
  //b="fdfdsfdsfdsfdfdfdfdfdsfdsf1233456";
  //op->write_file("./","aa3.txt",b,1);
  //op->modi_file("./","aa3.txt");
  //op->copy_file("aa3.txt","./","../a/");
  //op->move_file("aa3.txt","../","./");
  //op->rename_file("aa3.txt","aa2.txt");
  //op->list_filename("../",3);
  //op->creat_dir("/wwwroot","wesley");
  //op->del_dir("/aaa/test");?>。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读