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 相关文章推荐
输出控制类
Oct 09 PHP
PHP伪静态写法附代码
Jun 20 PHP
一周让你学会PHP 不错的学习资料
Feb 06 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
Jun 19 PHP
php中过滤非法字符的具体实现
Oct 29 PHP
php mail to 配置详解
Jan 16 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 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 Cookie的使用教程详解
2013/06/03 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
使用JavaScript switch case 另类写法
2010/03/14 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
jquery实现tr元素的上下移动示例代码
2013/12/20 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
Highcharts入门之简介
2016/08/02 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
pyqt4教程之widget使用示例分享
2014/03/07 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
Python中的异常处理学习笔记
2015/01/28 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
pytorch进行上采样的种类实例
2020/02/18 Python
用python实现一个简单计算器(完整DEMO)
2020/10/14 Python
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
如何高效率的查找一个月以内的数据
2012/04/15 面试题
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
实习证明格式范文
2014/10/14 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
公司感谢信范文
2015/01/22 职场文书
同学聚会开幕词
2019/04/02 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
使用 Apache 反向代理的设置技巧
2022/01/18 Servers
解决xampp安装后Apache无法启动
2022/03/21 Servers