EditPlus 中user tool工具给了使用者极大的灵活性,用户可以用之来对当前文件使用外部命令进行操作。更多功能介绍请见转帖:
在使用的过程中,遇到这样一个问题,如果我打开的是一个远程ftp文件,使用文件属性作为参数时会失败,笔者配置了一个user tool 对当前php文件进行语法检测:
命令如下:
文件名:
执行结果:
如果是本地文件则正常如下:
仔细查看user tool参数选项:
这个里面并没合适的操作ftp文件的选项。
笔者的方案是利用editplus在保存文件时产生一个备份文件来做检测:
用php写了一个脚本 ,利用参数$(FileDir) $(FileName)得到当前文件的备份文件的路径,user tool 的配置如下:
COMMAND: D:\Webserver\php53\php.exe D:\soft\romotephpcheck\pcheck.php
argument: $(FileDir) $(FileName)
备份文件的名称是真实名称+日期+版本号 是一个递增的过程(如图)
这样就能方便地得到最后一次保存的文件,具体的脚本代码如下:
<?php
define("EDITPLUS_BACK_PATH","E:\\Back\\Editplus\\");
$fileDir = EDITPLUS_BACK_PATH.str_replace(array(":","/"),"_",$argv[1])."\\";
$remoteFileName = $argv[2];
$handler = opendir($fileDir);
if($handler){
$latestFile = "";
while( ($filename = readdir($handler)) !== false ){
if($filename != "." && $filename != ".."){
if(strpos($filename,$remoteFileName) === 0){
if($filename > $latestFile){
$latestFile = $filename;
}
}
}
}
if($latestFile) system ("D:\Webserver\php53\php.exe -l ".$fileDir.$latestFile);//未处理文件名包含空格的情况
}
注:借鉴以上的思路,可以方便操作远程文件