Script de backup recursivo do PHP

Eu escrevi um sistema básico de gerenciamento de conteúdo para o meu site, incluindo um painel de administração. Entendo o IO básico do arquivo e a cópia via PHP, mas minhas tentativas de executar um script de backup que podem ser chamados a partir do script falharam. Eu tentei fazer isso:

//... authentication, other functions
for(scandir($homedir) as $buffer){
    if(is_dir($buffer)){
        //Add $buffer to an array
    }
    else{
        //Back up the file
    }
}
for($founddirectories as $dir){
    for(scandir($dir) as $b){
        //Backup as above, adding to $founddirectories
    }
}

Mas isso não pareceu funcionar.

Sei que posso fazer isso usando FTP, mas quero uma solução completamente do lado do servidor que possa ser acessada em qualquer lugar com autorização suficiente.

questionAnswers(7)

yourAnswerToTheQuestion