GoLang scandir

is this article helpful? yes | no
GoLang replacement for PHP's scandir [Golang Play | edit | history]
items, _ := ioutil.ReadDir(".") // []fs.FileInfo
for _, item := range items {
    // item = fs.FileInfo
    // Unlike scandir() in php, ioutil.ReadDir() in GoLang does not return "." (current directory) and ".." (parent directory).

PHP scandir

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


(PHP 5, PHP 7)

scandirList files and directories inside the specified path


array scandir ( string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]] )

Returns an array of files and directories from the directory.



The directory that will be scanned.


By default, the sorted order is alphabetical in ascending order. If the optional sorting_order is set to SCANDIR_SORT_DESCENDING, then the sort order is alphabetical in descending order. If it is set to SCANDIR_SORT_NONE then the result is unsorted.


For a description of the context parameter, refer to the streams section of the manual.

Return Values

Returns an array of filenames on success, or FALSE on failure. If directory is not a directory, then boolean FALSE is returned, and an error of level E_WARNING is generated.


Version Description
5.4.0 sorting_order constants were added. Any nonzero value caused descending order in previous versions. So for all PHP versions, use 0 for ascending order, and 1 for descending order. An option for SCANDIR_SORT_NONE behavior did not exist prior to PHP 5.4.0.


Example #1 A simple scandir() example

$files1 scandir($dir);
$files2 scandir($dir1);


The above example will output something similar to:

    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .



A URL can be used as a filename with this function if the fopen wrappers have been enabled. See fopen() for more details on how to specify the filename. See the Supported Protocols and Wrappers for links to information about what abilities the various wrappers have, notes on their usage, and information on any predefined variables they may provide.

See Also

  • opendir() - Open directory handle
  • readdir() - Read entry from directory handle
  • glob() - Find pathnames matching a pattern
  • is_dir() - Tells whether the filename is a directory
  • sort() - Sort an array