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 相关文章推荐
基于mysql的bbs设计(四)
Oct 09 PHP
在任意字符集下正常显示网页的方法一
Apr 01 PHP
PHP4与PHP5的时间格式问题
Feb 17 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
PHP 面向对象 final类与final方法
May 05 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
jQuery 源码分析笔记
May 25 PHP
解析Ubuntu下crontab命令的用法
Jun 24 PHP
php修改NetBeans默认字体的大小
Jul 02 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
Nov 22 PHP
php简单实现MVC
Feb 05 PHP
php检查字符串中是否包含7位GSM字符的方法
Mar 17 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
杏林同学录(六)
2006/10/09 PHP
PHP 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
PHP删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
代码详解JS操作剪贴板
2018/02/11 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
vue实现树状表格效果
2020/12/29 Vue.js
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
python中的lambda表达式用法详解
2016/06/22 Python
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
J2EE面试题集锦(附答案)
2013/08/16 面试题
司马光教学反思
2014/02/01 职场文书
导游词之上饶龟峰
2019/10/25 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server