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 相关文章推荐
php5编程中的异常处理详细方法介绍
Jul 29 PHP
PHP 数组排序方法总结 推荐收藏
Jun 30 PHP
php数组转成json格式的方法
Mar 09 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
php和redis实现秒杀活动的流程
Jul 17 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基于mcrypt的加密解密实例
2014/10/27 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
jquery简单实现鼠标经过导航条改变背景图
2013/12/17 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
优化Python代码使其加快作用域内的查找
2015/03/30 Python
Python实现处理管道的方法
2015/06/04 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
中学生在校期间的自我评价分享
2013/11/13 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
安全承诺书
2015/01/19 职场文书
刑事撤诉申请书
2015/05/18 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
MySQL中utf8mb4排序规则示例
2021/08/02 MySQL
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
为Centos安装指定版本的Docker
2022/04/01 Servers