• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    一個PHP類

    發布: 2007-7-14 19:53 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 13次 | 進入軟件測試論壇討論

    領測軟件測試網 <?
    /***********************************************************************************/
    /*/                                                                               /*/
    /*/                        Program: File System Class(FSC)                        /*/
    /*/                        PHP Programer :吳雙(James Wu)                          /*/
    /*/                        Email: wu-shuang@163.net                               /*/
    /*/                        HomePage: http://www.dev-php.com                       /*/
    /*/                        Date: 2002-01-24                                       /*/
    /*/                                                                               /*/
    /***********************************************************************************/

    class FSC{

    /**************************************************************************/
    // 函數名: getfilesource
    // 功能: 得到指定文件的內容
    // 參數: $file 目標文件
    /**************************************************************************/
    function getfilesource($file){
        if($fp=fopen($file,'r')){
            $filesource=fread($fp,filesize($file));
            fclose($fp);
            return $filesource;
        }
        else
            return false;
    }
    /**************************************************************************/
    // 函數名: writefile
    // 功能: 創建新文件,并寫入內容,如果指定文件名已存在,那將直接覆蓋
    // 參數: $file -- 新文件名
    // $source  文件內容
    /**************************************************************************/
    function writefile($file,$source){
        if($fp=fopen($file,'w')){
            $filesource=fwrite($fp,$source);
            fclose($fp);
            return $filesource;
        }
        else
            return false;
    }
    /**************************************************************************/
    // 函數名: movefile
    // 功能: 移動文件
    // 參數: $file -- 待移動的文件名
    // $destfile -- 目標文件名
    // $overwrite 如果目標文件存在,是否覆蓋.默認是覆蓋.
    // $bak 是否保留原文件 默認是不保留即刪除原文件

    /**************************************************************************/
    function movefile($file,$destfile,$overwrite=1,$bak=0){
        if(file_exists($destfile)){
            if($overwrite)
                unlink($destfile);
            else
                return false;
        }
        if($cf=copy($file,$destfile)){
            if(!$bak)
                return(unlink($file));
            }
        return($cf);
    }
      /**************************************************************************/
    // 函數名: movedir
    // 功能: 這是下一涵數move的附助函數,功能就是移動目錄
    /**************************************************************************/
    function movedir($dir,$destdir,$overwrite=1,$bak=0){
         @set_time_limit(600);
        if(!file_exists($destdir))
            FSC::notfate_any_mkdir($destdir);
        if(file_exists($dir)&&(is_dir($dir)))
            {
            if(substr($dir,-1)!='/')$dir.='/';
            if(file_exists($destdir)&&(is_dir($destdir))){
            if(substr($destdir,-1)!='/')$destdir.='/';
                $h=opendir($dir);
                while($file=readdir($h)){
                    if($file=='.'||$file=='..')
                        {
                        continue;
                        $file="";
                    }
                    if(is_dir($dir.$file)){
                        if(!file_exists($destdir.$file))
                            FSC::notfate_mkdir($destdir.$file);
                        else
                            chmod($destdir.$file,0777);
                        FSC::movedir($dir.$file,$destdir.$file,$overwrite,$bak);
                        FSC::delforder($dir.$file);
                        }
                    else
                    {
                        if(file_exists($destdir.$file)){
                            if($overwrite)unlink($destdir.$file);
                            else{
                                continue;
                                $file="";
                                }
                        }
                        if(copy($dir.$file,$destdir.$file))
                            if(!$bak)
                                if(file_exists($dir.$file)&&is_file($dir.$file))
                                    @unlink($dir.$file);
                    }
                }
            }
            else
                return false;
        }
        else
            return false;
    }
    /**************************************************************************/
    // 函數名: move
    // 功能: 移動文件或目錄
    // 參數: $file -- 源文件/目錄
    //       $path -- 目標路徑
    //       $overwrite -- 如是目標路徑中已存在該文件時,是否覆蓋移動
    //                  --  默認值是1, 即覆蓋
    //       $bak  -- 是否保留備份(原文件/目錄)
    /**************************************************************************/
    function move($file,$path,$overwrite=1,$bak=0)
         {
        if(file_exists($file)){
            if(is_dir($file)){
                if(substr($file,-1)=='/')$dirname=basename(substr($file,0,strlen($file)-1));
                else $dirname=basename($file);
                if(substr($path,-1)!='/')$path.='/';
                if($file!='.'||$file!='..'||$file!='../'||$file!='./')$path.=$dirname;
                FSC::movedir($file,$path,$overwrite,$bak);
                if(!$bak)FSC::delforder($file);
                }
            else{
                if(file_exists($path)){
                    if(is_dir($path))chmod($path,0777);
                    else {
                        if($overwrite)
                            @unlink($path);
                        else
                            return false;
                    }
                }
                else
                    FSC::notfate_any_mkdir($path);
                if(substr($path,-1)!='/')$path.='/';
                FSC::movefile($file,$path.basename($file),$overwrite,$bak);
            }
        }
        else
            return false;
    }
    /**************************************************************************/
    // 函數名: delforder
    // 功能: 刪除目錄,不管該目錄下是否有文件或子目錄,全部刪除哦,小心別刪錯了哦!
    // 參數: $file -- 源文件/目錄

    /**************************************************************************/
    function delforder($file) {
         chmod($file,0777);
         if (is_dir($file)) {
              $handle = opendir($file);
              while($filename = readdir($handle)) {
               if ($filename != "." && $filename != "..")
                {
                    FSC::delforder($file."/".$filename);
                }
              }
              closedir($handle);
              return(rmdir($file));
         }
         else {
            unlink($file);
          }
    }
    /**************************************************************************/
    // 函數名: notfate_mkdir
    // 功能: 創建新目錄,這是來自php.net的一段代碼.彌補mkdir的不足.
    // 參數: $dir -- 目錄名

    /**************************************************************************/
    function notfate_mkdir($dir,$mode=0777){
        $u=umask(0);
        $r=mkdir($dir,$mode);
        umask($u);
        return $r;
    }
    /**************************************************************************/
    // 函數名: notfate_any_mkdir
    // 功能: 創建新目錄,與上面的notfate_mkdir有點不同,因為它多了一個any,即可以創建多級目錄
    //         如:notfate_any_mkdir("abc/abc/abc/abc/abc")
    // 參數: $dirs -- 目錄名

    /**************************************************************************/
    function notfate_any_mkdir($dirs,$mode=0777)
    {
      if(!strrpos($dirs,'/'))
        {
          return(FSC::notfate_mkdir($dirs,$mode));
      }else
          {
          $forder=explode('/',$dirs);
          $f='';
          for($n=0;$n<count($forder);$n++)
              {
              if($forder[$n]=='') continue;
              $f.=((($n==0)&&($forder[$n]<>''))?(''):('/')).$forder[$n];
              if(file_exists($f)){
                  chmod($f,0777);
                  continue;
                  }
              else
                  {
                  if(FSC::notfate_mkdir($f,$mode)) continue;
                  else
                      return false;
              }
            }
            return true;
          }
    }

    /*********************************************************************************/
    /*/                            End Class FSC                                   /*/
    /*********************************************************************************/
    }
    ?>

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>