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作的文本留言本的例子(一)
Oct 09 PHP
PHP开发需要注意的安全问题
Sep 01 PHP
解析Win7 XAMPP apache无法启动的问题
Jun 26 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
Nov 28 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
PHP中把对象转换为关联数组代码分享
Apr 09 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
laravel 多图上传及图片的存储例子
Oct 14 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
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
Javascript中的高阶函数介绍
2015/03/15 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
js实现返回顶部效果
2017/03/10 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
python设置检查点简单实现代码
2014/07/01 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
Django添加sitemap的方法示例
2018/08/06 Python
Python 打印中文字符的三种方法
2018/08/14 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
保安的辞职报告怎么写
2014/01/20 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
爱国口号
2014/06/19 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
话题作文之诚信
2019/11/28 职场文书
Vue的生命周期一起来看看
2022/02/24 Vue.js