Autoit FTP problem!

01/04/2011 14:36 Trøjan#1
Hab jetzt schon in zwei Foren gefragt....

Warum läd er die Datei nicht hoch, nachdem er Meldungen +1 gerechnet hat???

01/05/2011 14:12 Asuramaru#2
hihi :P

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 :p

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 :o)

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