Claro...
Si lees en la documentación de rmdir() que te puse, verás que el directorio sólo puede borrarse cuando está vacío.
Por eso la función que pone safe lo que hace es recorrer todo el directorio borrando todos sus archivos con unlink() (Si encuentra subdirectorios, se hace una llamada recursiva) y una vez que el directorio está vacío lo borra con rmdir().
Saludos