filesystem path and ftp, http are distinct. one way to fix your problem is to see where you are when you open the ftp connection and start from there to build the path.
for example if $ftp->cwd('/') is /home/mysitecom/domains/mysite.com/public_ftp/
then the path to /home/mysitecom/domains/mysite.com/public_ftp/uploads/aa will be $ftp->cwd('/uploads/aa/')
Edit: the ftp user need to have access to the directory, not only permission, check the owner, user must be the owner or in the same group with the owner