Опции:
1) вы можете использовать ftp_rawlist
вместо ftp_nlist
, чтобы получить полный список для файла / каталога, который должен указывать, является ли он каталогом.Однако формат этого списка будет зависеть от операционной системы сервера ftp.Например, в системе unix / linux необработанный листинг может выглядеть примерно так:
drwxrwxr-x 3 jm72 jm72 4096 Nov 2 16:39 myDir
-rw-rw-r-- 1 jm72 jm72 257 Nov 2 16:39 myFile
, где «d» в первом столбце скажет вам, что это каталог.Не уверен, как это будет выглядеть на сервере Windows.
2) для каждого возвращаемого вами имени файла, попробуйте вставить в него CD.Если вы можете, это каталог!
if (ftp_chdir($conn_id, substr($contents[$i],1)) {
//it's a directory, don't include it in your list
ftp_cdup($conn_id) //don't forget to go back up to the directory you started in!
}