I have an array I'm getting back from scandir, but it contains "."
and ".."
and I don't want it to.
My code:
$indir = scandir('../pages'); $fileextensions = array(".", "php", "html", "htm", "shtml"); $replaceextensions = str_replace($fileextensions, "", $indir);
I am doing a string replace on the file extensions, thus causing [0] and [1] to appear empty, but they are "."
and ".."
array(4) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(4) "test" [3]=> string(4) "home" }
How would I remove the "."
and ".."
from the array?
You can use array_filter.
$indir = array_filter(scandir('../pages'), function($item) { return !is_dir('../pages/' . $item); });
Note this filters out all directories and leaves only files and symlinks. If you really want to only exclude only files (and directories) starting with .
, then you could do something like:
$indir = array_filter(scandir('../pages'), function($item) { return $item[0] !== '.'; });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With