Textdatei aus dem Internet auslesen ?

03/30/2009 19:19 cab_killer#1
Hi,

ich wollte mal wissen ob und wie es möglich ist eine Textdatei die auf meinem Webspace hinterlegt ist auszulesen ?

So ala FileOpen und FileReadLine

Also in der Textdatei steht sagen wir jetzt mal eine Nummer in der 5ten Zeile.
Genau die will ich ausgelesen haben.

Wie kann ich das bewerkstelligen ohne irgendeine Datei runter zu Laden.

Danke schonmal

MFG
03/30/2009 20:41 i4mSoH34Vy#2
InetGet("http://www.host.de/dein.txt", @TempDir & "\dein.txt", 1, 0) ;
$blub= FileReadLine(@TempDir & "\dein.txt", 1)
03/30/2009 20:47 Azunai#3
$text = _INetGetSource("www.textdatei.txt")
03/30/2009 20:50 kknb#4
soweit ich es verstanden habe wollte er es ohne eine datei zwischenzuspeichern.
dann wäre es nur mit _inetgetsource und _stringbetween möglich.
03/30/2009 20:50 cab_killer#5
Quote:
Originally Posted by j199207 View Post
InetGet("http://www.host.de/dein.txt", @TempDir & "\dein.txt", 1, 0) ;
$blub= FileReadLine(@TempDir & "\dein.txt", 1)
Aber mit InetGet lade ich die Datei doch runter oder ?
Weil genau das wollte ich vermeiden.
Lieg ich jetzt richtig oder doch falsch ?
Lade ich die Datei so runter oder nicht ?

Danke

MFG
03/30/2009 20:52 xSharkoonX#6
du lädst die herunter in den temp ordner und kannst sie ja nach dem auslesen sofort wieder löschen
03/30/2009 20:52 kknb#7
ja du lädst sie runter.

[Only registered and activated users can see links. Click Here To Register...]


so kannst du bestimmte zeilen auslesen, in meinem beispiel wird die 5 zeile aus dem quelltext einer seite wiedergegeben.


Code:
#include <INet.au3>
#include <array.au3>
#include <String.au3>
$bla = _INetGetSource ( "http://download.microsoft.com/download/a/8/7/a87b3d05-cd04-4743-a23b-b16645e075ac/readme.txt" )
$ausgabe = _StringBetween($bla, ".com", "=")
MsgBox(0,"",$ausgabe[0])
03/30/2009 21:08 cab_killer#8
Quote:
Originally Posted by kknb View Post
ja du lädst sie runter.

[Only registered and activated users can see links. Click Here To Register...]


so kannst du bestimmte zeilen auslesen, in meinem beispiel wird die 5 zeile aus dem quelltext einer seite wiedergegeben.


Code:
#include <INet.au3>
#include <array.au3>
#include <String.au3>
$bla = _INetGetSource ( "http://download.microsoft.com/download/a/8/7/a87b3d05-cd04-4743-a23b-b16645e075ac/readme.txt" )
$ausgabe = _StringBetween($bla, ".com", "=")
MsgBox(0,"",$ausgabe[0])
Ich danke euch anderen die Antworten waren auch nicht schlecht aber kknb hat es auf den Punkt getroffen.

Jetzt ist nur meine Frage bei deinem beispiel
Wieso gibt er gerda die 5te Zeile aus ?
Wie muss ich das machen wenn ich hier jetzt die erste oder und die zweite Zeile auslesen lassen will?
Bei FileReadLine konnte man ja noch angeben welche zeile er mir angeben soll aber hier verstehe ich nicht ganz wie man die Zeile bestimmt die ausgelesen werden soll.

InetGetSource
hier wird doch nur die Textdatei angegeben und bei
StringBetween liest er das ja jetzt aus aber woher weiss er jetzt welche Zeile ?

MFG
03/30/2009 21:14 kknb#9
hier mal nen auszug aus der hilfe

mit inetgetsource bekommst du den GESAMMTEN quelltext in einem string gespeichert.

Quote:
Gibt einen Teilstring zwischen einem angegebenen Start-String und einem Stopp-String zurück
#include <String.au3>
_StringBetween ( $sString, $sStart, $sEnd [, $vCase [, $iSRE ]] )
das heisst du kannst aus einem string bestimmte werte(strings) auslesen dazu musst du nur die suche eingrenzen.

wenn du nen text hast und du nur das wort "bin" haben möchtest musst du die suche folgendermaßen eingrenzen:
Quote:
hallo, ich bin kknb
Code:
$text="hallo, ich bin kknb"
$ausgabe = _StringBetween($text, "hallo, ich", "kknb")
er gibt dir nun den string aus der genau dazwischen liegt das ergebnis wird in nem array gespeichert, falls es mehrere treffer gibt kannst du somit wählen welches ausgegeben werden soll
03/30/2009 21:23 cab_killer#10
Ahh
Super vielen dank hast mir sehr weiter Geholfen.
Klappt perfekt

MFG
03/30/2009 21:32 kknb#11
bitte, wenns dir geholfen hat darfst du gerne den danke button drücken ;)
03/30/2009 21:36 cab_killer#12
Ok habe doch noch ein Problem vieleicht kannst du mir da auch weiter Helfen.
erstmal sry 4 doppel post

So also ich will jetzt aus meiner Textdatei meine email ausgeben
ich habe in meiner Textdatei stehen

email:meineemail@provider.deende

ich habe im Script folgendes angegeben

PHP Code:
$line1 _StringBetween($file"email:""ende"
wenn ich es mir jetzt nun als MsgBox anzeigen lasse zeigt er mir das auch
aber ich habe das jetzt mal anders versucht und wollte

PHP Code:
If $line1 == ("[Only registered and activated users can see links. Click Here To Register...]"Then
bla bla bla
Else
blub blub blub 
Aber leider macht er das nicht er springt sofort auf die Else Funktion.
Warum macht er das ?
Er hat die email doch richtig gelesen aber es Funktioniert so nicht.

Ich danke

MFG
03/30/2009 21:41 kknb#13
ich schrieb ja stringbetween gibt dir nen array aus. wieviele und welche ergebnisse gefunden wurden kannst du dir mit _arraydisplay ausgeben lassen. in deinem beispiel wird ja logischerweise nur eins richtig gefunden also muss dein code so lauten:

Code:
If $line1[0] == ("[Only registered and activated users can see links. Click Here To Register...]") Then
bla bla bla
Else
blub blub blub
bitte!
03/30/2009 21:48 cab_killer#14
Ich sags jetzt mal frei Schnauze
You are the Best :D
Vielen dank
Jetzt Funktionierts wirklich 100%

MFG
03/31/2009 16:42 Azunai#15
bin grad etwas verwirrt

_inetgetsource("www.text.txt") gibt den inhalt der textdatei weiter
wozu brauchst du da denn bitte ein stringbetween o0