PHP面向对象文件操作类

80酷酷网    80kuku.com

  对象<?php
 
 /*
  文件名:ClassFile.php
  功能:面向对象,文件操作类(查看文件,删除文件,上传文件)
  作者:感染源
  时间:2007-1-11

 */
 
 class ClassFile
 {
  private $dir_name;
  private $file_name;
  private $dh;
  //private $file_path;
  
  
  //构造函数,打开工作文件目录
  function __construct($PDirName)
  {
   $this->dir_name = $PDirName;
   if(is_dir($this->dir_name))
    
    //打开目录
    if($this->dh = opendir($this->dir_name) or dir('路径错误,请重新检查路径!'));
  }//function __construct();
  
  
  //关闭文件目录
  function __destruct()
  {
   //关闭目录
   closedir($this->dh);
  }//function __destruct();
  
  
  //向当前文件夹添加文件,同时检查是否有重名的文件
  function AddFile($temp_file)
  {
   //读取目录
   while($this->file_name = readdir($this->dh))
   {
    if($this->file_name==$temp_file)  //检查是否和已存在的文件重名
    {
     echo '文件重名,请更改文件名...';
     exit;
    }
    else
    {
     //将临时文件复制到当前目录中
     $up_id = copy($temp_file,"$this->dir_name/$temp_file");
     if(!$up_id)
     {
      echo '文件上传失败,请重新再传...';
      exit;
     }
     else
     {
      unlink($temp_file);  //删除临时文件
      
      echo "<script language='javascript'>";
      echo "alert(\"文件上传成功!\");";
      echo "</script>";
     }//if
    }//if
   }//while
  }//function AddFile();
  
  
  //删除文件
  function DelFile($del_file)
  {
   if(is_file($del_file))
   {
    //$path = "$this->dir_name\/$del_file";
    if(unlink($del_file))
    {
     echo "<script language='javascript'>";
     echo "alert(\'成功删除文件!\');";
     echo "</script>";
    }
     
   }//if
  }//function DelFile();
  
  
  //读取文件
  function Read_File()
  {
    $result_file = array();
    $i = 0;
   while($this->file_name = readdir($this->dh))
   {
    if($this->file_name=='.'||$this->file_name=='..')
    {}
    else
    {
     $result_file[$i++] = "$this->dir_name/$this->file_name";
    }//if
    
   }//while
   return $result_file; //返回文件名数组
  }//function Read_File()
 }//Class ClassFile
?> 



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: