For some reason, I keep getting a '1' for the file names with this code:
if (is_dir($log_directory))
{
if ($handle = opendir($log_directory))
{
while($file = readdir($handle) !== FALSE)
{
$results_array[] = $file;
}
closedir($handle);
}
}
When I echo each element in $results_array, I get a bunch of '1's, not the name of the file. How do I get the name of the files?
You need to surround
$file = readdir($handle)
with parentheses.Here you go:
Don't bother with open/readdir and use
glob
instead:As the accepted answer has two important shortfalls, I'm posting the improved answer for those new comers who are looking for a correct answer:
globe
function results withis_file
is necessary, because it might return some directories as well..
in their names, so*/*
pattern sucks in general.It's due to operator precidence. Try changing it to:
Just use
glob('*')
. Here's DocumentationI have smaller code todo this: