PHP运行SVN命令显示某用户的文件更新记录的代码

yipeiwu_com5年前PHP代码库

复制代码 代码如下:

<?php
$user=trim($_GET['user']);
$d=$_GET['date'];
if(!$d){
 $d=date('Ymd',time()-86400*14);
}
if(empty($user)){
 echo "例如:svn_log.php?user=wang&date=20130118";
 exit;
}

$cmd='/usr/bin/svn log -v -r {'.$d.'}:"HEAD" --username 用户名 --password 密码 --no-auth-cache | sed -n "/'.$user.'/,/-----$/ p" 2>&1';

$p=dirname(__FILE__);

exec('cd '.$p,$output);

exec($cmd,$output);

$d=date('Y年m月d日',strtotime($d));
echo $user.'自'.$d.'以来:<br>';
echo '---------------------------------------------<br>';
$out='';

krsort($output);

if(!empty($output)){
 foreach($output as $v){
  $p1=strpos($v,'/branch/');
  $p2=strpos($v,'/tg/');
  if($p1!==false || $p2!==false){
   if($p1!==false){
    $v=substr($v,$p1+9);
   }else{
    $v=substr($v,$p2+4);
   }
   if($out==''){
    $out=$v;
    echo $v.'<br>';
   }else{
    if(strpos($out,$v)===false){
     $out.=','.$v;
     echo $v.'<br>';
    }
   }
  }
 }
}else{
 echo "没有文件";
}
?>

相关文章

PHP编程之微信公众平台企业号验证接口示例【回调操作】

本文实例讲述了PHP微信公众平台企业号验证接口。分享给大家供大家参考,具体如下: 微信公众平台企业号验证接口、回调 PHP版,本人为了解决这个企业号的验证和发送消息的问题,整整研究了几天...

利用“多说”制作留言板、评论系统

利用“多说”制作留言板、评论系统

留言板和评论系统在网站建设中会经常用到,今天为大家介绍如何利用多说来为自己的网站制作留言板、评论系统!注意以下只是介绍一下简单的创建设置,更多功能大家可以自己去探索! 1、进入多说网站...

PHP设计模式之工厂模式与单例模式

本文实例讲述了PHP设计模式之工厂模式与单例模式实现方法。分享给大家供大家参考,具体如下: 设计模式简单说应对某类问题而设计的解决方式 工厂模式:应对需求创建相应的对象 class...

php定时计划任务的实现方法详解

我在uchome 中 分析到, uchome是这样做的1. 把所有的计划任务存放到数据库2. 每次用户进行操作或打开页面的时候都按排序执行一条计划任务. 也就是轮番判断,时间到了的, 就...

php实现httpRequest的方法

本文实例讲述了php实现httpRequest的方法。分享给大家供大家参考。具体如下: 想从学校图书馆的网站上抓取数据处理之后在返回给浏览器,试了不少方法。首先试了http_reques...