mit _FTP_PUT kannst du nur Dateien im Selben Ordner hochladen
müsstest also die .txt in @ScriptDir kopieren und dann hochladen (danach evtl. wieder löschen)
InetGet brauchst du keine Ftp daten benutzen, geht auch so
Und unten mit dem Datum hats bei mir nicht geklappt^^ da kam immer ..2011 oder .1.2011 raus
(auch wenn nur Test später in der Reports.txt steht )
Code:
#include <Array.au3>
#Include <String.au3>
#include <IE.au3>
#include <file.au3>
#Include <FTPEx.au3>
;#Include <FTP.au3>
#RequireAdmin
Dim $aRecords
Global $Month
$Name = "Hans1"
$Submit = $Name&"|1|"&OnlineDate()
$FTP_open = _FTP_Open("MY FTP")
$FTP_Connect = _FTP_Connect($FTP_open,"ftp.autoitbotftp.au.funpic.de","autoitbotftp","123456789")
$Found = 0
InetGet("http://autoitbotftp.au.funpic.de/Reports.txt",@TempDir&"\Reports.txt")
$file = FileOpen(@TempDir&"\Reports.txt", 0)
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
If Not _FileReadToArray(@TempDir&"\Reports.txt",$aRecords) Then
MsgBox(4096,"Error", " Error reading log to Array error:" & @error)
Exit
EndIf
For $x = 1 to $aRecords[0]
$Read = StringSplit($aRecords[$x],"|")
If $Read[1] = $Name Then
$Read[2] = $Read[2]+1
$Read[3] = OnlineDate()
$OldFileRead = FileRead($file)
$OldFileRead = StringReplace($OldFileRead,$aRecords[$x],$Name&"|"&$Read[2]&"|"&$Read[3])
$Found = 1
$file_flush = FileOpen(@TempDir&"\Reports.txt", 2)
$OldFileRead = "Test"
FileWrite($file_flush,$OldFileRead)
Filecopy(@Tempdir & "\Reports.txt",@ScriptDir & "\Reports.txt")
$Ftpp = _FTP_FilePut($FTP_Connect,"Reports.txt","Reports.txt")
FileDelete(@TempDir&"/Reports.txt")
FileDelete("Reports.txt")
MsgBox(0,"","Aufgerechenet!"& $Ftpp)
EndIf
Next
If $Found = 0 Then
_FileReadToArray(@TempDir&"\Reports.txt",$aRecords)
Dim $NewFileWrite[$aRecords[0]+1]
$i = 0
For $x = 1 To $aRecords[0]
$NewFileWrite[$i] = $aRecords[$x]
$i = $i + 1
Next
$x = UBound($NewFileWrite)
$NewFileWrite[$i] = $Submit
_ArrayDisplay($NewFileWrite)
_FileWriteFromArray(@TempDir&"\Reports.txt",$NewFileWrite)
FileCopy(@TempDir & "\Reports.txt",@ScriptDir & "\Reports.txt")
_FTP_FilePut($FTP_Connect,"Reports.txt","Reports.txt")
EndIf
FileClose($file)
FileDelete("Reports.txt")
FileDelete(@TempDir &"\Reports.txt")
_FTP_Close($FTP_open)
_FTPClose($Open)
Func OnlineDate()
$sRead = BinaryToString(InetRead("http://www.uhrzeit.org/atomuhr.html",1))
$sRegRead = _StringBetween($sRead,'<div id="anzeige_datum">','</div>')
$sSplitRead = StringSplit ( $sRegRead[0], " ")
Local $Monat[13] = ["Platzhalter","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","Nobember","Dezember"]
for $i = 0 to 12
If $sSplitRead[4] = $Monat[$i] Then
$Month = $i
Endif
next
$DayArray = StringSplit($sSplitRead[3],".")
$Day = $DayArray[1]
$Year = $sSplitRead[5]
$Date = $Day&"."&$Month&"."&$Year
Return $Date
EndFunc