Where you have:
while ($file = $mydir->read()) !== false)
should be:
while (false !== ($file = readdir($mydir)))
That's what made it work for me. Please note that that I used:
readdir()
instead of:
read()