GoLang dir

is this article helpful? yes | no
GoLang replacement for PHP's dir [Golang Play | edit | history]
import (
    "os"
)

// dir lists the contents of a directory
func dir(path string) ([]os.FileInfo, error) {
    // Open the directory using os.Open
    dir, err := os.Open(path)
    if err != nil {
        return nil, err
    }
    defer dir.Close()

    // Read the contents of the directory using Readdir
    contents, err := dir.Readdir(0)
    if err != nil {
        return nil, err
    }

    // Return the contents of the directory
    return contents, nil
}

PHP dir

PHP original manual for dir [ show | php.net ]

dir

(PHP 4, PHP 5, PHP 7)

dirReturn an instance of the Directory class

Description

Directory dir ( string $directory [, resource $context ] )

A pseudo-object oriented mechanism for reading a directory. The given directory is opened.

Parameters

directory

Directory to open

context

Note: Context support was added with PHP 5.0.0. For a description of contexts, refer to Streams.

Return Values

Returns an instance of Directory, or NULL with wrong parameters, or FALSE in case of another error.

Examples

Example #1 dir() example

Please note the fashion in which Directory::read()'s return value is checked in the example below. We are explicitly testing whether the return value is identical to (equal to and of the same type as - see Comparison Operators for more information) FALSE since otherwise, any directory entry whose name evaluates to FALSE will stop the loop.

<?php
$d 
dir("/etc/php5");
echo 
"Handle: " $d->handle "\n";
echo 
"Path: " $d->path "\n";
while (
false !== ($entry $d->read())) {
   echo 
$entry."\n";
}
$d->close();
?>

The above example will output something similar to:

Handle: Resource id #2
Path: /etc/php5
.
..
apache
cgi
cli

Notes

Note:

The order in which directory entries are returned by the read method is system-dependent.