заставить PHP ждать завершения функции?

Есть ли способ заставить PHP ждать, пока функция не вернется, прежде чем продолжить?

Это мой код:

<?php

    set_time_limit(0);

    function waitforchange($nof) {
        $lfilemod=filemtime($nof);
        while(filemtime($nof) == $lfilemod) {
            clearstatcache();
            usleep(10000);
        }
    }

    waitforchange('./blahblah.txt')
    sleep(5);
    echo 'done';

?>

Предполагается подождать, покаblahblah.txt изменения, подождите еще пять секунд после этого, затем распечатайте «готово», однако через пять секунд он напечатает «готово», независимо от того, был ли файл действительно изменен.

Ответы на вопрос(3)

Ваш ответ на вопрос