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短域名转换为实际域名函数
Jan 17 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
May 19 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 PHP
深入解析PHP内存管理之谁动了我的内存
Jun 20 PHP
PHP用身份证号获取星座和生肖的方法
Nov 07 PHP
ThinkPHP空模块和空操作详解
Jun 30 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
Feb 03 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
Django中通过定时任务触发页面静态化的处理方式
Aug 29 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实现字符串翻转的方法
2015/03/27 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
js中判断控件是否存在
2010/08/25 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
Django框架多表查询实例分析
2018/07/04 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
印度在线购物网站:Paytmmall
2019/07/24 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
一套中级Java程序员笔试题
2015/01/14 面试题
社区母亲节活动记录
2014/03/06 职场文书
校园安全演讲稿
2014/05/09 职场文书
加油口号大全
2014/06/13 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
实习生矿工检讨书
2014/10/13 职场文书
幸福来敲门观后感
2015/06/04 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
2016年学校“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers