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中的串行化变量和序列化对象
Sep 05 PHP
文章推荐系统(二)
Oct 09 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
php 团购折扣计算公式
Nov 24 PHP
利用PHP将图片转换成base64编码的实现方法
Sep 13 PHP
php 二维数组时间排序实现代码
Nov 19 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
Dec 12 PHP
PHP封装返回Ajax字符串和JSON数组的方法
Feb 17 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
Laravel中错误与异常处理的用法示例
Sep 16 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
Mar 23 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 无极分类(递归)实现代码
2010/01/05 PHP
PHP中设置时区方法小结
2012/06/03 PHP
在PHP中使用redis
2013/11/04 PHP
php统计数组元素个数的方法
2015/07/02 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
Python设计模式之单例模式实例
2014/04/26 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
Django实现web端tailf日志文件功能及实例详解
2019/07/28 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
python 从list中随机取值的方法
2020/11/16 Python
python全栈开发语法总结
2020/11/22 Python
.NET现在共支持多少种语言
2014/02/26 面试题
公开承诺书格式
2014/05/21 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
Python基础知识学习之类的继承
2021/05/31 Python
浅谈MySQL中的六种日志
2022/03/23 MySQL