thx a lot 4 help & patience
i have solved my problem. The error was in pattern. as a $file_name i use full path like 'c:\boot.ini' so no results was returned.
so working functuion is
#Include <File.au3>
#include <Array.au3>
Func _FtpPutFile($server,$remotedir,$file_name,$user='anonymous',$password='mail@tome.com',$port='21')
Dim $szDrive, $szDir, $szFName, $szExt
$commandfilename=_TempFile()
$resultsname=_TempFile()
$handle=FileOpen($commandfilename,2)
FileWriteLine($handle,"open "&$server&" "&$port)
FileWriteLine($handle,$user)
FileWriteLine($handle,$password)
FileWriteLine($handle,"cd ."&$remotedir)
FileWriteLine($handle,"binary")
FileWriteLine($handle,"put "&$file_name)
FileWriteLine($handle,"dir")
FileWriteLine($handle,"bye")
FileClose($handle)
RunWait(@ComSpec & " /c ftp -s:" & $commandfilename & " >" & $resultsname, "", @SW_HIDE)
FileDelete($commandfilename)
$data=FileRead($resultsname)
FileDelete($resultsname)
$sp=_PathSplit($file_name,$szDrive, $szDir, $szFName, $szExt)
$f_s=StringRegExp($data,"-r.?-r.?-r.?-.*"&$user&"\s*(\d+).*"&$sp[3]&$sp[4],3)
;~ _ArrayDisplay($f_s)
Return $f_s[0]=FileGetSize($file_name)
EndFunc