If you get a warning like chmod(): Operation not permitted
You can use the ftp_site() function to send a CHMOD command through.

  1. $ftp_user_name = 'username';
  2. $ftp_user_pass = 'password';
  3. $ftp_server = 'ftp.server.com';
  4.  
  5. $connect = ftp_connect($ftp_server);
  6.  
  7. if (!ftp_login($connect, $ftp_user_name, $ftp_user_pass)) die("Couldn't connect");
  8.  
  9. @ftp_site($connect, 'CHMOD 0777 /public_html/folder_to_chmod/');
  10.  
  11. ... some process ... maybe upload ...
  12.  
  13. @ftp_site($connect, 'CHMOD 0755 /public_html/folder_to_chmod/');
  14. ftp_close($connect);

Remember this is just example, improve it yourself.
Hope this helps someone. You might need this solution if you are on a shared server.