大家好,我有一个递归函数,可以获取ftp目录和文件,但我无法获取某些文件夹的内容,例如测试文件夹 /public_html/test/myfiles.html我不知道测试内的内容,否则该功能正常。
这是我的代码:
function ftpRecursiveFileListing($ftpConnection, $path, $parentId = null) {
static $cnt = 0;
$files = array();
$contents = ftp_nlist($ftpConnection, $path);
foreach($contents as $currentFile) {
$currentFileArray = array();
$filesize = ftp_size($ftpConnection, $currentFile);
$currentFileArray["text"] = $currentFile;
$currentFileArray["parent_id"] = $parentId;
$currentFileArray["id"] = $cnt++;
$currentFileArray["filesize"] = NULL;
if($filesize >= 0)
$currentFileArray["filesize"] = $filesize; // octets
// assuming its a folder if there's no dot in the name
if (strpos($currentFile, '.') === false)
$currentFileArray["children"] = $this->ftpRecursiveFileListing($ftpConnection, $currentFile, $currentFileArray["id"]);
$files [] = $currentFileArray;
}
return array_reverse($files) ;
}
答案 0 :(得分:0)
尝试打开此帖子上的被动模式 ftp_nlist command not working
ftp_pasv($ftp_conn, true);
$files_list = ftp_nlist($ftp_conn, ".");
答案 1 :(得分:0)
如果tmp文件夹中没有剩余空间,则ftp_nlist返回空数组