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类
Nov 27 PHP
PHP 在线翻译函数代码
May 07 PHP
Linux下将excel数据导入到mssql数据库中的方法
Feb 08 PHP
PHP下操作Linux消息队列完成进程间通信的方法
Jul 24 PHP
php 过滤器实现代码
Aug 09 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
PHP访问数据库集群的方法小结
Mar 14 PHP
浅析Laravel5中队列的配置及使用
Aug 04 PHP
php array_pop 删除数组最后一个元素实例
Nov 02 PHP
Linux下快速搭建php开发环境
Mar 13 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
解决Laravel5.2 Auth认证退出失效的问题
Oct 14 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
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
easyui validatebox验证
2016/04/29 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
python获取糗百图片代码实例
2013/12/18 Python
Python中针对函数处理的特殊方法
2014/03/06 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
Windows下PyMongo下载及安装教程
2015/04/27 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
python实现图片中文字分割效果
2019/07/22 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
解决Python安装cryptography报错问题
2020/09/03 Python
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
咖啡馆创业计划书
2014/01/26 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
工程负责人任命书
2014/06/06 职场文书
英语教研活动总结
2014/07/02 职场文书
公安四风对照检查材料思想汇报
2014/10/11 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers