Hola, ya lo resolvi. Por si a alguien le sirve dejare el codigo por aca.
Lo que hice fue hacer un List al directorio, almacenar el resultado en un datatable y luego filtre ese datatable. Simple a fin de cuentas.
Código PHP:
Private Function GP_Descargar_Directorio(ByVal archivo As String, ByVal ruta As String, ByVal User As String, ByVal pass As String) As String
Dim tabla As New DataTable
Dim tbl As New DataTable
Dim fila As DataRow
Dim columna As DataColumn
Dim f() As DataRow
Dim filtro As String
Dim indice As Integer = 0
Dim ftp As FtpWebRequest = CType(FtpWebRequest.Create(ruta), FtpWebRequest)
Dim cred As New NetworkCredential(User, pass)
ftp.Credentials = cred
ftp.KeepAlive = False
ftp.AuthenticationLevel = Security.AuthenticationLevel.MutualAuthRequested
ftp.Method = WebRequestMethods.Ftp.ListDirectoryDetails
'ftp.Method = WebRequestMethods.Ftp.
'ftp.Proxy = Nothing
Dim ftpresp As FtpWebResponse = DirectCast(ftp.GetResponse, FtpWebResponse)
'Creamos la estructura de la tabla
columna = New DataColumn("archivo", Type.GetType("System.String"))
tabla.Columns.Add(columna)
Dim sreader As New IO.StreamReader(ftpresp.GetResponseStream)
Ddl_archivos.Items.Clear()
While Not sreader.Peek = -1
Dim ftpList As String() = sreader.ReadLine.Split(" ")
Dim ftpfile As String = ftpList(ftpList.GetUpperBound(0))
fila = tabla.NewRow
fila.Item("archivo") = ftpfile.ToString
tabla.Rows.Add(fila)
Ddl_archivos.Items.Insert(indice, New ListItem(ftpfile.ToString, ftpfile.ToString))
indice += 1
End While
filtro = "archivo like '" & archivo & "%"
f = tabla.Select(filtro)
tbl = tabla.Clone
For Each dr As DataRow In f
tbl.ImportRow(dr)
Next
Ddl_archivos.DataTextField = "archivo"
Ddl_archivos.DataValueField = "archivo"
Ddl_archivos.DataSource = tbl
Ddl_archivos.DataBind()
ftpresp.Close()
Return Ddl_archivos.SelectedItem.Text
End Function
Saludos a todos.