---
product: Chilkat
product_version: 11.7.0
language: phpx
language_label: PHP ActiveX
class: SFtpDir
license: bundle
deprecated: false
reference_html: https://www.chilkatsoft.com/refdoc/phpSFtpDirRef.html
---
# Chilkat SFtpDir — PHP ActiveX — v11.7.0

> Chilkat 11.7.0 · language=phpx · class=SFtpDir
> Other versions: replace `11.7.0` in this URL. Other languages: `https://www.chilkatsoft.com/ai-docs/v/11.7.0/<lang>/classes/SFtpDir.md`.
> Language-wide rules (install, unlock, error model, strings/bytes): `https://www.chilkatsoft.com/ai-docs/v/11.7.0/phpx/guide.md`.

## Purpose

**Inspect, sort, and iterate an SFTP directory listing.**

`Chilkat.SFtpDir` represents a directory listing returned by an SFTP operation. It provides the original path used to fetch the listing, the number of files and subdirectories found, methods for retrieving filenames or full `SFtpFile` entry details by index, sorting support, and a way to load a completed asynchronous directory-listing result.

**Directory listing object**

Holds the files and subdirectories returned from an SFTP directory-read operation.

**Original path tracking**

Use `OriginalPath` to see the remote path that was requested when the directory listing was created.

**Entry count**

Read `NumFilesAndDirs` to determine how many directory entries are available for iteration.

**Filename access**

Use `GetFilename` to retrieve the name of an entry by zero-based index.

**Full entry details**

Use `FileAt` to populate an `SFtpFile` object with metadata for a selected file or subdirectory.

**Sorting and async results**

Sort entries by filename, timestamps, or size, and load directory listings returned from completed async tasks.

**Common pattern:** Use a `Chilkat.SFtp` object to open or read a remote directory, then use the returned `SFtpDir` object to inspect `NumFilesAndDirs`, optionally call `Sort`, and loop from index `0` through the final entry. Use `GetFilename` when only names are needed, or `FileAt` when the application needs the full `SFtpFile` metadata for each entry.

## Object creation, unlocking and error handling

**Object Creation**

```php
Chilkat v10.0.0 or greater:
$obj = new COM("Chilkat.SFtpDir");
Chilkat v9.5.0.*:
$obj = new COM("Chilkat_9_5_0.SFtpDir");
```

Call `Global.UnlockBundle` once at the start of the program, before using this or any other Chilkat class. Any string unlocks a fully functional 30-day trial; a purchased unlock code is used in production. See `guide.md` for the exact code in PHP ActiveX.

How failure is reported depends on the method's return type and is stated in the note under each method below. In every case the diagnostic text is in the `LastErrorText` property of the object whose method was called.

## Members common to every Chilkat class

Documented once per language in `common-members.md`; listed here so this page is self-contained.

| Property | Signature | Access | Meaning |
|---|---|---|---|
| `DebugLogFilePath` | `string DebugLogFilePath` | read/write | If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. |
| `LastBinaryResult` | `VARIANT LastBinaryResult (read-only)` | read-only | This property is mainly used in SQL Server stored procedures to retrieve binary data from the last method call that returned binary data. |
| `LastErrorHtml` | `string LastErrorHtml (read-only)` | read-only | Provides HTML-formatted information about the last called method or property. |
| `LastErrorText` | `string LastErrorText (read-only)` | read-only | Provides plain text information about the last called method or property. |
| `LastErrorXml` | `string LastErrorXml (read-only)` | read-only | Provides XML-formatted information about the last called method or property. |
| `LastMethodSuccess` | `bool LastMethodSuccess` | read/write | Indicates the success or failure of the most recent method call: `true` means success, `false` means failure. |
| `LastStringResult` | `string LastStringResult (read-only)` | read-only | In SQL Server stored procedures, this property holds the string return value of the most recent method call that returns a string. |
| `LastStringResultLen` | `int LastStringResultLen (read-only)` | read-only | The length, in characters, of the string contained in the LastStringResult property. |
| `VerboseLogging` | `bool VerboseLogging` | read/write | If set to `true`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. |
| `Version` | `string Version (read-only)` | read-only | Version of the component/library, such as "10.1.0" |

## Member index

| Member | Kind | Signature |
|---|---|---|
| `NumFilesAndDirs` | property, read-only | `int NumFilesAndDirs (read-only)` |
| `OriginalPath` | property, read-only | `string OriginalPath (read-only)` |
| `FileAt` | method | `bool FileAt(int index, Chilkat.SFtpFile fileObj)` |
| `GetFilename` | method | `string GetFilename(int index)` |
| `LoadTaskResult` | method | `bool LoadTaskResult(Chilkat.Task task)` |
| `Sort` | method | `void Sort(string field, bool ascending)` |

Deprecated members are listed at the end of this file with their replacements; do not use them in new code.

## Properties

### SFtpDir.NumFilesAndDirs

`Chilkat 11.7.0 · phpx · SFtpDir · NumFilesAndDirs · property · read-only`

```php
int NumFilesAndDirs (read-only)
```

Returns the number of entries in this directory listing.

The count includes every item returned by the server, such as regular files, directories, symbolic links, and special entries. Valid zero-based indexes range from `0` through `NumFilesAndDirs - 1`.

### SFtpDir.OriginalPath

`Chilkat 11.7.0 · phpx · SFtpDir · OriginalPath · property · read-only`

```php
string OriginalPath (read-only)
```

Returns the original remote path used to create this directory listing.

This is the same path string that was supplied to the SFTP directory-open operation. It identifies the requested directory and is retained with the listing for later reference.

## Methods

### SFtpDir.FileAt

`Chilkat 11.7.0 · phpx · SFtpDir · FileAt · method · since 11.0.0`

```php
bool FileAt(int index, Chilkat.SFtpFile fileObj)
```

Copies the metadata for the directory entry at the zero-based `index` into `fileObj`.

The first entry is at index `0`. Use `NumFilesAndDirs` to determine the number of available entries.

The populated `SFtpFile` object provides the entry name, type, size, timestamps, ownership, permissions, and any additional attributes supplied by the SFTP server.

Use `GetFilename` when only the entry name is needed.

Returns true for success, false for failure.

### SFtpDir.GetFilename

`Chilkat 11.7.0 · phpx · SFtpDir · GetFilename · method`

```php
string GetFilename(int index)
```

Returns the filename of the directory entry at the zero-based `index`.

The first entry is at index `0`. Use `NumFilesAndDirs` to determine the number of available entries.

Use `FileAt` when the application needs the full `SFtpFile` metadata rather than only the entry name.

Returns `null` on failure

### SFtpDir.LoadTaskResult

`Chilkat 11.7.0 · phpx · SFtpDir · LoadTaskResult · method · since 9.5.0.52`

```php
bool LoadTaskResult(Chilkat.Task task)
```

Loads this `SFtpDir` object from the result of a completed asynchronous `Task`.

The task must represent an asynchronous SFTP operation whose result is a directory listing. Call this method after the task has finished to transfer the listing data into the current object.

Returns true for success, false for failure.

### SFtpDir.Sort

`Chilkat 11.7.0 · phpx · SFtpDir · Sort · method · since 9.5.0.79`

```php
void Sort(string field, bool ascending)
```

Reorders the files and subdirectories in this listing according to `field`.

Set `ascending` to `true` for ascending order or `false` for descending order. The new order is used by index-based methods such as `GetFilename` and `FileAt`.

| field | Sort key |
| :--- | :--- |
| `filename` | Filename using the normal case-sensitive comparison. |
| `filenameNoCase` | Filename using a case-insensitive comparison. |
| `lastModifiedTime` | Last-modified date and time. |
| `lastAccessTime` | Last-access date and time. |
| `lastCreateTime` | Creation date and time. |
| `size` | Entry size in bytes. |

## Deprecated members — do not use in new code

| Member | Kind | Deprecated in | Use instead |
|---|---|---|---|
| `GetFileObject` | method | before 11.6.1 | `FileAt` |

## Related classes

[`SFtpFile`](https://www.chilkatsoft.com/ai-docs/v/11.7.0/phpx/classes/SFtpFile.md), [`Task`](https://www.chilkatsoft.com/ai-docs/v/11.7.0/phpx/classes/Task.md)

