我正在使用Phing,现在我正在使用此代码将我的文件上传到FTP:
<target name="ftp.upload">
<echo>Uploading files to FTP</echo>
<ftpdeploy
host="${ftp.destination.host}"
port="${ftp.destination.port}"
username="${ftp.destination.username}"
password="${ftp.destination.password}"
dir="${ftp.destination.dir}"
mode="${ftp.destination.mode}">
<fileset refid="TheFiles" />
</ftpdeploy>
<echo>FTP Upload Finished!</echo>
</target>
Run Code Online (Sandbox Code Playgroud)
加载需要很长时间,而且我有很多图像 - 因此每次我进行小的文本更改时,我都不希望它重新上传所有内容.有没有办法检测哪些文件已被更改,只上传那些文件?
谢谢!
这有点晚了......但你实际上可以用Phing做到这一点.这需要几个步骤:
定义要离开的日期属性.当您为将来的构建保存最后构建日期时,这将是必要的
Run Code Online (Sandbox Code Playgroud)< tstamp> < format property="builddate" pattern="%m/%d/%Y" /> < format property="buildtime" pattern="%I:%M %p" /> < /tstamp>
定义lastbuilddate属性.将其定义为某种方式.然后包含一个具有相同属性的文件(将在运行结束时创建).如果文件存在(第二次运行和之后),它将覆盖您使用上次日期定义的设置
Run Code Online (Sandbox Code Playgroud)< property name="lastbuilddate" value="01/01/1970 12:00 AM" /> < property file="$.\lastbuild.properties" override="true"/>
在文件集定义中包含日期任务.这指定仅选择在上次构建日期之后具有上次修改日期的文件
<fileset id ="TheFiles"> <date datetime ="$ {lastbuilddate}"when ="after"/> </ fileset>
运行您的ftp以获取TheFiles文件集
使用最新的运行日期更新lastbuild.properties文件.注意到我们正在使用最初定义的日期/时间属性.
Run Code Online (Sandbox Code Playgroud)< echo msg="lastbuilddate=${builddate} ${buildtime}" file="$./lastbuild.properties" append="false" />
每次运行目标时,它只会ftp自lastbuilddate属性中指定的日期以来更改的文件
| 归档时间: |
|
| 查看次数: |
2267 次 |
| 最近记录: |