There is an easy way to check progress while uploading a file.  Just use the ftell function to watch the position in the file handle.  ftp_nb_fput will increment the position as the file is transferred.Example:<?    $fh = fopen ($file_name, "r");    $ret = ftp_nb_fput ($ftp, $file_name, $fh, FTP_BINARY);    while ($ret == FTP_MOREDATA) {        print ftell ($fh)."\n";        $ret = ftp_nb_continue($ftp);    }    if ($ret != FTP_FINISHED) {        print ("error uploading\n");        exit(1);    }    fclose($fh);?>This will print out the number of bytes transferred thus far, every time the loop runs.  Coverting this into a percentage is simply a matter of dividing the number of bytes transferred by the total size of the file.