FTP recursive sending/retrieving/delete

Hello,
I need to send and retrieve by FTP in my script a directory containing
files and sub-directories to any level depth.
I also need to recursively delete directories by FTP.
As these are common operations, can anybody point me to a script/library
having these functions coded, please ?

Regards,
Vincent