What is the best procedure to upload sites folder from Locahost to live server?
Instead of using FTP, consider using Git over SSH.  Drupal.org has documentation on using Git with Drupal 6, 7, and 8.  Note that for this, your webhost will need to support SSH, which some of the cheapest do not.

If you're using Drupal 8, consider using Git with Composer.

If you need some help figuring out how all this works, consider making a test site and a free account on one of the Drupal-dedicated hosts like Pantheon or Acquia. (Disclaimer: I have sites on Pantheon, but here I'm just recommending trying a free account to see how the Git flow works.)