PHP写UltraEdit插件脚本实现方法


Posted in PHP onDecember 26, 2011

需求:

1 svn上的代码在本地(编辑器UltraEdit)有一套,在开发机(centos)上有一套,需要本地的代码修改以后上传到开发机上

2 不直接在开发机上修改和使用,原因是有多个人都使用同一个开发机,为了保留本地备份

思路:

1 写一个脚本作为UltraEdit的插件,使得代码修改后按下制定按键就能直接将代码本地保存后上传到centos上

2 本地是windows,远程是linux,文件上传工具可以使用pscp.exe,脚本语言使用PHP或者Python

3 本地必须安装PHP,不需要安装数据库和apache

4 在PHP中起一个进程调用pscp.exe, 解析路径等逻辑放在php中

步骤:

1 UltaEdit中在工具配置中设定好脚本

php "C:\Users\nickyjf\Desktop\mesh\Tools\syncFile\sync142.php" %p%n%e

后面的%p%n%e是当前编辑文件的绝对路径,作为参数传入synv142.php中

PHP写UltraEdit插件脚本实现方法

2 sync142.php代码
<?php 
//插件,将windwos文件同步到linux上 
//php "rsync142.php" %p%n%e 
//valid argv 
//testCode 
/* 
$argv = array( 
"rsync142.php", 
"E:\\SVN\\test\\www\\include\\ggg\\test\\DTest.php", 
); 
*/ 
if(count($argv) == 2) 
{ 
$sFilePath = $argv[1]; 
$sServerName = "192.168.10.142"; 
$sServerUserName = "name"; 
$sServerPassword = "password"; 
$sServerPath = sGetServerPath($sFilePath); 
$realPath = sprintf("%s@%s:/%s", $sServerUserName, $sServerName, $sServerPath); 
try 
{ 
$cmd = sprintf("pscp.exe -pw %s %s %s", $sServerPassword, $sFilePath, $realPath); 
echo $cmd."\n"; 
system($cmd); 
} 
catch(Exception $e) 
{ 
print_r($e);exit; 
} 
} 
function sGetServerPath($sWindowsPath) 
{ 
$ret = ""; 
$paths = explode("\\", $sWindowsPath); 
if($startKey = array_search("www", $paths)) 
{ 
$ret = "test/"; 
for($i=$startKey+1; $i<count($paths); $i++) 
{ 
$ret .= $paths[$i] . "/"; 
} 
$ret = trim($ret, "/"); 
} 
return $ret; 
} 
?>

3 将pscp.exe放在sync142同级目录下
PHP写UltraEdit插件脚本实现方法
 
4 将按键Ctrl + 1 映射到这个脚本
于是在编写程序的时候只要按下Ctrl + 1就可以将当前脚本替换远程脚本
PHP写UltraEdit插件脚本实现方法
PHP 相关文章推荐
一个自定义位数的php多用户计数器代码
Mar 11 PHP
经典的PHPer为什么被认为是草根?
Apr 02 PHP
请php正则走开
Mar 15 PHP
destoon整合UCenter图文教程
Jun 21 PHP
本地计算机无法启动Apache故障处理
Aug 08 PHP
mysql查找删除重复数据并只保留一条实例详解
Sep 24 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
iis6手工创建网站后无法运行php脚本的解决方法
Jun 08 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 PHP
url decode problem 解决方法
Dec 26 #PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 #PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 #PHP
php操作JSON格式数据的实现代码
Dec 24 #PHP
php文件怎么打开 如何执行php文件
Dec 21 #PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 #PHP
php自动注册登录验证机制实现代码
Dec 20 #PHP
You might like
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
javascript 框架小结 个人工作经验
2009/06/13 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
2019/09/02 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
Python 正则表达式(转义问题)
2014/12/15 Python
在Python中操作字典之update()方法的使用
2015/05/22 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
用python绘制樱花树
2020/10/09 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
50岁生日感言
2014/01/23 职场文书
学校门卫岗位职责
2014/03/16 职场文书
高中生操行评语
2014/04/25 职场文书
教师个人考察材料
2014/12/16 职场文书
钱学森观后感
2015/06/04 职场文书
党员证明模板
2015/06/19 职场文书
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android