亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP封裝的svn類使用內置svn函數實現根據svn版本號導出相關文件示例

2024-05-05 00:04:24
字體:
來源:轉載
供稿:網友

本文實例講述了PHP封裝的svn類使用內置svn函數實現根據svn版本號導出相關文件。分享給大家供大家參考,具體如下:

<?php$revision_array = array(3099, 3339, 2573,3351); /* svn的版本號 */$svnPeer = new svnPeer();$filelist = $svnPeer->_get_file_list($revision_array);if (!empty($filelist)){  $lbv_export = $svnPeer->_svn_export_list($filelist, 'trunk889');  if (true === $lbv_export)  {    echo '導出成功';  }  else  {    echo '導出失敗';  }}else{  echo '獲取文件列表失敗';}/** * php操作svn類,全部利用php內置的svn函數 * * @author wengxianhu * @date 2013-08-05 */class svnPeer{  /* svn用戶名 */  public $svn_user = 'wengxianhu';  /* svn密碼 */  public $svn_password = 'wxh025';  /* 來源路徑 */  public $source_path = '/var/www/trunk/';  /* 目標路徑 */  public $dest_path = '/var/www/';  /**   * 構造函數   *   * @author wengxianhu   * @date 2013-08-05   * @return void   */  public function __construct ()  {    $this->_svn_connect();  }  /**   * 配置SVN使用默認的用戶名和密碼   *   * @author wengxianhu   * @date 2013-08-05   * @return void   */  public function _svn_connect ()  {    svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, $this->svn_user);    svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, $this->svn_password);  }  /**   * 根據svn版本號獲取所有的文件路徑   *   * @author wengxianhu   * @date 2013-08-05   * @param array $revision_array 版本號列表   * @return array   */  public function _get_file_list ($revision_array = array())  {    if (!empty($revision_array))    {      $filelist = array();      $log_list = array();      rsort($revision_array, SORT_NUMERIC);      foreach ($revision_array as $_k=>$_v)      {        $log_list = @svn_log($this->source_path, $_v, $_v);        if (false === $log_list)        {          return false;        }        else        {          $log_list = current($log_list);          foreach ($log_list['paths'] as $s_k=>$s_v)          {            $s_v['path'] = preg_replace('/^//[^//]+//(.*)$/i', '$1', $s_v['path']);            $filetmp = $s_v['path'];            if (is_file($this->source_path . $s_v['path']))            {              if (false === $this->multidimensional_search($filelist, array('filepath'=>$s_v['path'])))              {                $filelist[] = array(                  'revision_no'    => $log_list['rev'],                  'filepath'     => $s_v['path']                );              }            }          }        }      }      return $filelist;    }  }  /**   * 對多維數組進行搜索   *   * @author wengxianhu   * @date 2013-08-05   * @param array $parents 被搜索數組   * @param array $searched 搜索數組   * @return boolean   */  public function multidimensional_search ($parents = array(), $searched = array())  {    if (empty($searched) || empty($parents))    {      return false;    }    foreach ($parents as $key => $value)    {      $exists = true;      foreach ($searched as $skey => $svalue) {        $exists = ($exists && IsSet($parents[$key][$skey]) && $parents[$key][$skey] == $svalue);      }      if ($exists)      {        return $key;      }    }    return false;  }  /**   * 根據svn版本號導出相應的文件   *   * @author wengxianhu   * @date 2013-08-05   * @param array $file_array 文件路徑名   * @param string $package_name 包名   * @return boolean 成功為true,失敗為false   */  public function _svn_export_list ($file_array = array(), $package_name = '')  {    $info = true;    $this->dest_path = $this->dest_path . $package_name;    if (file_exists($this->dest_path))    {      $this->delDirAndFile($this->dest_path);    }    foreach ($file_array as $_k=>$_v)    {      $source_files = $this->source_path . $_v['filepath'];      $dest_files = $this->dest_path . '/' . $_v['filepath'];      $revision_no = (int)$_v['revision_no'];      $this->_mkdirm(dirname($dest_files));      $lbv_export = @svn_export($source_files, $dest_files, false, $revision_no);      if (false === $lbv_export)      {        $info = false;        break;      }    }    return $info;  }  /**   * 創建文件夾   *   * @author wengxianhu   * @date 2013-08-05   * string $path 文件路徑(不包括文件名)   * return void   */  public function _mkdirm ($path)  {    if (!file_exists($path))    {      $this->_mkdirm(dirname($path));      mkdir($path, 0755);    }  }  /**   * 循環刪除目錄和文件函數   *   * @author wengxianhu   * @date 2013-08-15   * @param string $dirName 目錄路徑   * return array   */  public function delDirAndFile($dirName)  {    if ( $handle = opendir( "$dirName" ) )    {      while ( false !== ( $item = readdir( $handle ) ) )      {        if ( $item != "." && $item != ".." )        {          if ( is_dir( "$dirName/$item" ) )          {            $this->delDirAndFile( "$dirName/$item" );          }          else          {            unlink( "$dirName/$item" );          }        }      }      closedir( $handle );      rmdir( $dirName );    }  }}

 

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
57pao成人永久免费视频| 国产精品www| 亚洲精品久久久久中文字幕欢迎你| 黄色成人在线免费| 亚洲一区精品电影| 欧美一性一乱一交一视频| 91黑丝在线观看| 久久综合伊人77777尤物| 欧美高清视频一区二区| 亚洲性69xxxbbb| 日韩免费视频在线观看| 久久福利网址导航| 亚洲综合av影视| www.美女亚洲精品| 韩国v欧美v日本v亚洲| 久久久久www| 91久久国产综合久久91精品网站| 亚洲国产精品久久| 亚洲精品丝袜日韩| 中文字幕少妇一区二区三区| 亚洲国产成人av在线| 欧美成在线观看| 国语自产在线不卡| 日韩中文字幕第一页| 精品中文字幕视频| 欧美大胆a视频| 一区三区二区视频| 日韩欧美在线视频观看| 亚洲男人天堂网| 81精品国产乱码久久久久久| 国产精品入口日韩视频大尺度| 久久久久久久网站| 久久视频精品在线| 久久久精品一区二区三区| 91精品国产精品| 美女扒开尿口让男人操亚洲视频网站| 国产精品扒开腿做爽爽爽的视频| 亚洲r级在线观看| 亚洲精品美女网站| 中文字幕视频在线免费欧美日韩综合在线看| 欧美日韩第一页| 欧美在线不卡区| 亚洲精品国产精品国自产在线| 久久久99免费视频| 69av成年福利视频| 国产精品揄拍500视频| 日韩风俗一区 二区| 中文字幕综合在线| 成人免费网站在线看| 精品中文字幕在线2019| 日韩免费在线看| 久久久人成影片一区二区三区| 欧美激情免费观看| 日韩网站免费观看| 久久最新资源网| 欧美另类99xxxxx| 欧美在线激情视频| xxxxxxxxx欧美| 九色精品美女在线| 中文字幕视频一区二区在线有码| 亚洲久久久久久久久久久| 国产精品白嫩美女在线观看| 国产美女久久精品香蕉69| 91影院在线免费观看视频| 国产精品美女在线观看| 日韩精品一区二区视频| 欧美中文字幕第一页| 久久97久久97精品免视看| 91精品成人久久| 国产精品91久久久| 久久久久久香蕉网| 亚洲自拍另类欧美丝袜| 国产97色在线|日韩| 欧美在线视频观看| 日韩国产高清视频在线| 精品视频在线导航| 国产成人短视频| 欧美视频专区一二在线观看| 色青青草原桃花久久综合| 人妖精品videosex性欧美| 2018日韩中文字幕| 人九九综合九九宗合| 在线精品国产成人综合| 国产精品成熟老女人| 欧美一区二区三区……| 国产成人精品999| 欧美亚洲国产视频小说| 欧美亚洲日本黄色| 国产美女搞久久| 在线电影中文日韩| 色黄久久久久久| 91久久精品久久国产性色也91| 欧美亚洲日本网站| 一二美女精品欧洲| 国产成人在线一区二区| 精品欧美一区二区三区| 亚洲国产精品福利| 欧美大人香蕉在线| 国产精品自拍偷拍视频| 亚洲自拍欧美另类| 国产成人在线一区二区| 日日骚久久av| 成人欧美一区二区三区在线湿哒哒| 亚洲аv电影天堂网| www欧美xxxx| 777国产偷窥盗摄精品视频| 91精品久久久久久久久| 成人国产精品av| 国产婷婷色综合av蜜臀av| 国模吧一区二区三区| 亚洲色图综合久久| 中文字幕自拍vr一区二区三区| 国产欧美日韩中文字幕在线| 久久激情视频久久| 国产午夜精品一区理论片飘花| 国产成人精品综合久久久| 国产精品女人网站| 亚洲男人第一av网站| 色老头一区二区三区在线观看| 国产一区二区三区日韩欧美| 久久久综合免费视频| 国产精品国产三级国产专播精品人| 4p变态网欧美系列| 国产精品亚洲网站| 国产精品久久久久久久久免费| 色多多国产成人永久免费网站| 亚洲国产精品久久久久秋霞蜜臀| 亚洲欧美在线第一页| 亚洲xxxx妇黄裸体| 欧美黄色小视频| 国产精品嫩草影院久久久| 亚洲日本中文字幕免费在线不卡| 国产精品嫩草视频| 91夜夜揉人人捏人人添红杏| 国产精品久久久久999| 91亚洲精品在线观看| 久久精品国产视频| 一区二区三区天堂av| 国产成人在线视频| 国产日韩在线亚洲字幕中文| 亚洲深夜福利网站| 欧美日韩精品在线视频| 国产精品久久久久高潮| 国产精品视频自拍| www.亚洲免费视频| 亚洲精品欧美日韩| 国产精品精品视频一区二区三区| 亚洲毛片在线观看.| 色偷偷av亚洲男人的天堂| 精品国产欧美一区二区五十路| 亚洲高清av在线| 亚洲精品99久久久久中文字幕| 成人免费网站在线| 久久久亚洲影院你懂的| 久久精品2019中文字幕| 伊人伊成久久人综合网站| 亚洲美女视频网| 日韩欧美在线中文字幕| 国产日韩在线精品av| 日韩精品日韩在线观看| 91高清在线免费观看| 亚洲日韩中文字幕在线播放| 亚洲国产91色在线| 精品久久久香蕉免费精品视频|