• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP写UltraEdit插件脚本实现方法_php实例

php 搞代码 3年前 (2022-01-26) 21次浏览 已收录 0个评论

需求:

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中

2 sync142.php代码

 <BR><?php <BR>//插件,将windwos文件同步到linux上 <BR>//php "rsync142.php" %p%n%e <BR>//valid argv <BR>//testCode <BR>/* <BR>$argv = array( <BR>"rsync142.php", <BR>"E:\\SVN\\test\\www\\include\\ggg\\test\\DTest.php", <BR>); <BR>*/ <BR>if(count($argv) == 2) <BR>{ <BR>$sFilePath = $argv[1]; <BR>$sServerName = "192.168.10.142"; <BR>$sServerUserName = "name"; <BR>$sServerPassword = "password"; <BR>$sServerPath = sGetServerPath($sFilePath); <BR>$realPath = sprintf("%s@%s:/%s", $sServerUserName, $sServerName, $sServerPath); <BR>try <BR>{ <BR>$cmd = sprintf("pscp.exe -pw %s %s %s", $sServerPassword, $sFilePath, $realPath); <BR>echo $cmd."\n"; <BR>system($cmd); <BR>} <BR>catch(Exception $e) <BR>{ <BR>print_r($e);exit; <BR>} <BR>} <BR>function sGetServerPath($sWindowsPath) <BR>{ <BR>$ret = ""; <BR>$paths = explode("\\", $sWindowsPath); <BR>if($startKey = array_search("www", $paths)) <BR>{ <BR>$ret = "test/"; <BR>for($i=$startKey+1; $i<count($paths); $i++) <BR>{ <BR>$ret .= $paths[$i] . "/"; <BR>} <BR>$ret = trim($ret, "/"); <BR>} <BR>return $ret; <BR>} <BR>?> <BR>


3 将pscp.exe放在sync142同级目录下
4 将按键Ctrl + 1 映射到这个脚本
/本文来源gao@!dai!ma.com搞$$代^@码5网@搞代gaodaima码是在编写程序的时候只要按下Ctrl + 1就可以将当前脚本替换远程脚本


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP写UltraEdit插件脚本实现方法_php实例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址