Seleccionar archivo aleatorio usando OPENDIR ()

Yo he tratado:

function random_pic($dir = '../myfolder') {
    $files = opendir($dir . '/*.*');
    $file = array_rand($files);
    return $files[$file];
}

Esta función funciona usandoglob() pero no opendir.

Esto devuelve un error al abrir el directorio. Supongo que opendir no puede aceptar cosas como*.*? ¿Es posible seleccionar todos los archivos en una carpeta y elegir uno al azar?

Respuestas a la pregunta(2)

Su respuesta a la pregunta