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 01 PHP
PHP 压缩文件夹的类代码
Nov 05 PHP
php循环语句 for()与foreach()用法区别介绍
Sep 05 PHP
php获取用户IPv4或IPv6地址的代码
Nov 15 PHP
理解PHP中的stdClass类
Apr 18 PHP
2个Codeigniter文件批量上传控制器写法例子
Jul 25 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
Zend Framework自定义Helper类相关注意事项总结
Mar 14 PHP
php常用正则函数实例小结
Dec 29 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
tp5递归 无限级分类详解
Oct 18 PHP
PHP Ajax跨域问题解决方案代码实例
Aug 01 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与数据库代码开发规范
2013/08/08 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
js实现右下角提示框的方法
2015/02/03 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
小程序实现多列选择器
2019/02/15 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
python3 flask实现文件上传功能
2020/03/20 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
奖学金自我鉴定范文
2013/10/03 职场文书
给老婆的婚前保证书
2014/02/01 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis