[已解决]当FTP中无文件时,_FTP_ListToArray报错的问题
本帖最后由 Ziya 于 2010-7-25 22:46 编辑代码如下#include <FTPEx.au3>
$Open = _FTP_Open('MyFTP Control');打开FTP连接
$Conn = _FTP_Connect($Open, "地址", "用户名", "密码", 1);连接到指定FTP
$aFile = _FTP_ListToArray($Conn, 2);列出文件
MsgBox(0, "", $aFile);显示文件数
$Ftpc = _FTP_Close($Open);关闭FTP连接测试FTP中如果有文件,则可以正确列出文件数量
但是当FTP中无文件时,则会报错
>运行:(3.3.6.1):J:\My Dropbox\Au3\Autoit\autoit3.exe "J:\My Dropbox\Au3\temp_au3\temp.au3"
J:\My Dropbox\Au3\temp_au3\temp.au3 (6) : ==> ???????????.:
MsgBox(0, "", $aFile)
MsgBox(0, "", $aFile^ ERROR
试过 _FTP_ListToArray ,_FTP_ListToArray2D,_FTP_ListToArrayEX都是这样...不知道是哪里错了=.= 貌似是这个udf的bug? if @error 试过了吗? 没有用到@error吧?
貌似ftp有没有文件,@error都是0 没有文件,函数也许不会返回一个数组
$aFile = _FTP_ListToArray($Conn, 2);列出文件
MsgBox(0, "", $aFile);显示文件数,当返回的值$aFile不是一个数组时,就会出错
MsgBox(0, "", $aFile);这句,当返回的值$aFile不是一个数组时,就会出错
可以用3#的代码检查一下@error的值,或者自已用IsArray检查$aFile是否为数组
$aFile = _FTP_ListToArray($Conn, 2);列出文件
If IsArray($aFile) then MsgBox(0, "", $aFile)
还真是
用IsArray($aFile)判断就可以了....
感谢楼上的指点 呵呵,很多困难往往是在简单的办法中得以解决的 也來學習一下 正好也在找一些ftp的相關資料,剛好用上 谢谢,问题解决。。。
页:
[1]