PHP运行SVN命令显示某用户的文件更新记录的代码_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 "没有文件";
}
?>

时间: 2024-10-31 12:13:39

PHP运行SVN命令显示某用户的文件更新记录的代码_php技巧的相关文章

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

 使用SVN开发者们平时开发或代码上线过程中需要知道某个时间段内修改或添加过那些文件,所以用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";  

php获取用户IPv4或IPv6地址的代码_php技巧

其实这个很简单,只不过我一直想用 ipv6-test 的API做一个获取用户IP地址的东西--无奈JSON获取到的只是本机服务器的IP.算了,不研究了,何况人家提供的widget也挺好用的.谷歌了一下,找到这段代码,可以根据用户环境获取IP地址. 例如IPv6访问 www.shiwo.de 则获取到的是用户的IPv6地址 p.s 前提是网站做了A和AAAA解析 复制代码 代码如下: <?php function getIP() /*获取客户端IP*/ { if (@$_SERVER["HT

用PHP控制用户的浏览器--ob*函数的使用说明_php技巧

用PHP控制用户的浏览器--ob*函数的使用 /google 的广告条--> Output Control 函数可以让你自由控制脚本中数据的输出.它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况.输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用. 我们先举一个简单的例子,让大家对Output Control有一个大致的印象:Example 1. <?php ob_st

PHP中对用户身份认证实现两种方法_php技巧

当访问者浏览受保护页面时,客户端浏览器会弹出对话窗口要求用户输入用户名和密码,对用户的身份进行验证,以决定用户是否有权访问页面.下面用两种方法来说明其实现原理. 一.用HTTP标头来实现 标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串.HTTP采用一种挑战/响应模式对试图进入受密码保护区域的用户进行身份验证.具体来说,当用户首次向WEB服务器发出访问受保护区域的请求时,挑战进程被启动,服务器返回特殊的401标头,表明该用户身份未经验证.客户端浏览器在检测到上述响应之后自动弹出对

Ubuntu下SVN命令行递归添加目录文件(免去一个一个的添加 --force)

由于在Linux下一直没有找到好的svn工具(类似于TortiseSVN的).当然eSVN这些也不错,但就是使用上觉得还不是非常习惯.最终还是选择了svn原始的命令行工具来进行版本控制操作. 命令行的有些指令使用起来还是比较方便的.如svn checkout.svn commit这些命令基本上使不使用图形界面关系也不是很大.唯一比较麻烦的命令的就是svn add,因为新增加的文件会分步在不同的目录中,有些目录中的文件已经存在于受控的svn资料夹,而有些文件所在的目录都是新增的.简单的输入svn

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍_php技巧

所有这些命令都衍生一个子进程,用于运行您指定的命令或脚本,并且每个子进程会在命令输出写到标准输出 (stdout) 时捕捉它们. shell_exec() shell_exec() 命令行实际上仅是反撇号 (`) 操作符的变体.如果您编写过 shell 或 Perl 脚本,您就知道可以在反撇号操作符内部捕捉其他命令的输出.例如,清单 1 显示了如何使用反撇号在当前目录中获取每个文本(.txt)的单词计数. 清单 1. 使用反撇号计算单词数量 复制代码 代码如下: #! /bin/sh numbe

用PHP实现Ftp用户的在线管理的代码_php技巧

领导要我策划一个网页设计大赛和Flash创作大赛,要求必须实现在线报名和上传作品.通过FreeBSD+Apache+PHP+Mysql+FTP我实现了该要求. 实现在线报名和上传作品的思路是利用网页表单收集用户填写的资料存储到Mysql数据库内,同时以该用户的注册名创建一个FTP上传账号并创建该用户的相应目录. FTP服务器是系统默认带的,采用系统用户的用户名和密码,创建系统用户就等于创建FTP用户,FreeBSD是属于UNIX阵营的操作系统,它没有象Linux一样的useradd和groupa

Javascript实现通过选择周数显示开始日和结束日的实现代码_javascript技巧

 最近在一个项目中遇到一个查询页面,其中一个查询条件是根据选择的年份.月以及周数显示选择的该周从几号到几号,这样一个需求.在网上搜索了一下,有类似的但是没有完全一样的,只好自己动手.思路是首先取得所选择的该年月1号这一天是星期几,然后算出这一周中周一的日期. 以此为基点,第1周的结束日即为这一天加6,第2周的开始日为这一天加7,结束日为这一天加13,以此类推,直到推算出第5周的开始日和结束日. 具体代码如下: //该方法有两个参数,date是给定的日期型参数,days是需要在该日期进行加减的天数

JS实现从顶部下拉显示的带动画QQ客服特效代码_javascript技巧

本文实例讲述了JS实现从顶部下拉显示的带动画QQ客服特效代码.分享给大家供大家参考,具体如下: 这是一款动画版QQ在线客服代码,从网页顶部下拉出来的QQ客服,下滑结束后有弹性缓冲效果.在世界地图的映衬下,似乎一下子上升了品位.动画效果是由jq实现的,QQ客服的一些信息自己修改下,换成你自己的QQ,上传到网页就可用啦.注:在火狐台chrome浏览器中测试效果会更好. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-top-show-down-