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将数据导入到Foxmail
Oct 09 PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 PHP
php设计模式 Facade(外观模式)
Jun 26 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
深入PHP异步执行的详解
Jun 03 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
PHP针对多用户实现更换头像功能
Sep 04 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
php压缩文件夹最新版
Jul 18 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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中JSON数据操作
2015/07/01 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
JavaScript面向对象编程
2008/03/02 Javascript
jQuery链使用指南
2015/01/20 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
python字典键值对的添加和遍历方法
2016/09/11 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
德国网上宠物店:Zoobio
2018/05/23 全球购物
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
群胜软件Java笔试题
2012/09/29 面试题
Java里面如何创建一个内部类的实例
2015/01/19 面试题
土木工程实习生自我鉴定
2013/09/19 职场文书
自荐信格式简述
2014/01/25 职场文书
推广活动策划方案
2014/08/23 职场文书
年会主持人开场白台词
2015/05/29 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
Python自动化测试PO模型封装过程详解
2021/06/22 Python