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 12 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
Jun 03 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
windows中为php安装mongodb与memcache
Jan 06 PHP
PHP中的socket_read和socket_recv区别详解
Feb 09 PHP
详解php的socket通信
Aug 11 PHP
PHP可变变量学习小结
Nov 29 PHP
CI(CodeIgniter)模型用法实例分析
Jan 20 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
Jun 13 PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 PHP
PHP单例模式简单用法示例
Jun 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 pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
PHP基础知识介绍
2013/09/17 PHP
php的ajax简单实例
2014/02/27 PHP
php中opendir函数用法实例
2014/11/15 PHP
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
2015/08/28 Javascript
深入理解JavaScript函数参数(推荐)
2016/07/26 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
详解js中Array的方法及技巧
2018/09/12 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
JS实现鼠标按下拖拽效果
2020/07/23 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
Python处理JSON数据并生成条形图
2016/08/05 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
在django模板中实现超链接配置
2019/08/21 Python
Python调用飞书发送消息的示例
2020/11/10 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
python opencv实现图像配准与比较
2021/02/09 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
毕业自我鉴定总结
2014/03/24 职场文书
《分一分》教学反思
2014/04/13 职场文书
给老师的感谢信
2015/01/20 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
妈妈别哭观后感
2015/06/08 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers
基于Python实现一个春节倒计时脚本
2022/01/22 Python
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android