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 相关文章推荐
BBS(php &amp; mysql)完整版(二)
Oct 09 PHP
PHP 在线翻译函数代码
May 07 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
PHP排序算法的复习和总结
Feb 15 PHP
php下载文件源代码(强制任意文件格式下载)
May 09 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
Apr 07 PHP
php实现websocket实时消息推送
Mar 30 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
Apr 02 PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 PHP
php查看一个变量的占用内存的实例代码
Mar 29 PHP
PHP 实现 JSON 数据的编码和解码操作详解
Apr 22 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设计聊天室步步通
2006/10/09 PHP
php程序效率优化的一些策略小结
2010/07/17 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
深入理解vue.js中的v-if和v-show
2017/06/22 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
详解webpack loader和plugin编写
2018/10/12 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
微信小程序收藏功能的实现代码
2020/06/19 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
python实现手机销售管理系统
2019/03/19 Python
关于python3中setup.py小概念解析
2019/08/22 Python
PyQt5实现简单的计算器
2020/05/30 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
销售自荐信
2013/10/22 职场文书
校园安全广播稿
2014/02/08 职场文书
社区健康教育实施方案
2014/03/18 职场文书
投标单位介绍信
2015/05/05 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS