php的多功能文件操做類

本類爲文件操做類,實現了文件的創建,寫入,刪除,修改,複製,移動,建立目錄,刪除目錄,列出目錄裏的文件等功能,路徑後面別忘了加"/"php

建立指定路徑下的指定文件post

     * @param string $path(須要包含文件名和後綴)this

     * @param boolean $over_write 是否覆蓋文件spa

     * @param int $time 設置時間。默認是當前系統時間code

     * @param int $atime 設置訪問時間。默認是當前系統時間orm

<?php
/**
 *本類爲文件操做類,實現了文件的創建,寫入,刪除,修改,複製,移動,建立目錄,刪除目錄
 * 列出目錄裏的文件等功能,路徑後面別忘了加"/"
 */
class fileoperate
{
var $path;// 文件路徑 
var $name;//文件名 
var $result;//對文件操做後的結果 

  /**
   * 本方法用來在path目錄下建立name文件
   *
   * @param string path
   * @param string name
   */
  function creat_file($path,$name)//創建文件
{
  $filename=$path.$name;
  if (file_exists($filename))
  {
    echo "文件已經存在,請換個文件名";
  }
  else
  {
    if (file_exists($path))
    {
      touch($name);
      rename($name,$filename);
      echo "文件創建成功 </br>";
    }
    else{
      echo "目錄不存在,請檢查";
    }
  }
}

  /**
   * 本方法用來寫文件,向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>";
  }

  /**
   * 本方法用來複制name文件從spath到dpath
   *
   * @param string name
   * @param string spath
   * @param string dpath
   */
  function copy_file($name,$spath,$dpath) //文件複製
{
  $filename=$spath.$name;
  if (file_exists($filename)) {
    $handle=fopen($filename,'a');
    copy($filename,$dpath.$name);
    if (file_exists($dpath.$name))
      echo "文件複製成功";
    else echo "文件複製失敗";
  }
  else echo "文件不存在";
}

  /**
   * 本方法把name文件從spath移動到path路徑
   *
   * @param string_type path
   * @param string_type dirname
   * @param string_type dpath
   */
  function move_file($name,$spath,$dpath) //移動文件
{
  $filename=$spath.$name;
  if (file_exists($filename)) { 
    $result=rename($filename,$dpath.$name);
    if ($result==false or !file_exists($dpath))
      echo "文件移動失敗或目的目錄不存在";
    else
      echo "文件移動成功";
  }
  else {
    echo "文件不存在,沒法移動";
  }
}
}
?> 
相關文章
相關標籤/搜索