Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
25.12.2003, 01:33
fall_out



Abend,

wie kann ich mit PHP ein Script auf einem anderen Server aufrufen, dabei aber nicht komplett einlesen? Also praktisch nur prüfen, ob es vorhanden ist. Und wie kann ich verhindern, dass dabei ein Timeout entsteht, wenn das abzurufende Script also z.B. 2 Minuten lang eine Datenbankabfrage durchführt soll nicht die ganze Zeit gewartet werden, sondern nach 10 Sekunden abgebrochen werden.

Weiss jemand wie ich das am besten mache?

--

meine engine

zum Seitenanfang zum Seitenende Profil || Suche
001
25.12.2003, 07:40
Megge



Also ein Script auf einem Fremden Server einlesen geht mal ganz sicherlich nicht, wenn der Server gegenüber PHP beherrscht. Hast du jedoch zugang zu den Dateien auf dem anderen Sever, so kannst du sie ja dir genehm verändern, resp. sie temporär für andere Server lesbar machen -> kurzzeitig als .txt speichern z.B. und dabei sämtliche Dateirechte für andere wegnehmen. Nur den Sinn davon versteh ich jetzt nicht...

Wegen dem zweiten; das mit dem timeout geht afaik nicht ganz so einfach, das mit dem Prüfen, ob die Datei vorhanden jedoch schon (if(is_file()) 4ex).

--

zum Seitenanfang zum Seitenende Profil || Suche
002
25.12.2003, 14:00
fall_out



Hab mich wohl falsch ausgedrückt. Das File auf dem anderen Server kann auch eine Text-Datei oder ein Bild sein, ich will irgendein File auf irgendeinem Server auf Verfügbarkeit prüfen. Also ob http://www.example.com/html/file1.html da ist.

So würde ich das machen.

#ganzes file einlesen
$fo = fopen('http://www.example.com/html/file1.html','rb');
while(!feof($fo)){
$get .= fgets($fo,1024);
}

#nur 10 KB der ausgabe
$fo = fopen('http://www.example.com/html/file1.html','rb');
$get = fgets($fo,10240);

Einfaches Beispiel, die Ziel-Datei ist ein PHP Script und am Anfang steht sleep(30); dann soll mein Script nicht 30 Sek warten bis die Ausgabe kommt, sondern nach 10 Sek schon abbrechen.

--

meine engine

zum Seitenanfang zum Seitenende Profil || Suche
003
25.12.2003, 14:22
CN



php.net/curl

--

zum Seitenanfang zum Seitenende Profil || Suche
004
25.12.2003, 15:07
fall_out



Zitat:
CN postete
php.net/curl
Daran habe ich gar nicht gedacht, danke dir. Das mit dem Timeout klappt jetzt perfekt, aber gibt es eine Möglichkeit mit curl die Möglichkeit einzustellen wieviel maximal gelesen werden soll (max. 10KB)?

--

meine engine

zum Seitenanfang zum Seitenende Profil || Suche
005
26.12.2003, 13:02
speziFanta



Habe zwar nie zuvor mit cURL gearbeitet, aber ich würde folgendes testen:

Zitat:
"CURLINFO_SIZE_DOWNLOAD" - Anzahl der Bytes, die heruntergeladen worden sind
Quelle: http://de3.php.net/manual/de/function.curl-getinfo.php

--

Heute schon gegoogelt?
spezi|Clan
TheWall.de - wo jeder alles sein kann.

zum Seitenanfang zum Seitenende Profil || Suche
006
26.12.2003, 14:50
fall_out



Zitat:
t.s|Fanta postete
Habe zwar nie zuvor mit cURL gearbeitet, aber ich würde folgendes testen:

Zitat:
"CURLINFO_SIZE_DOWNLOAD" - Anzahl der Bytes, die heruntergeladen worden sind
Quelle: http://de3.php.net/manual/de/function.curl-getinfo.php
Das sind ja leider nur Info-Funktionen, wenn ich das richtig sehe. Damit kann ich sehen, wie es gelaufen ist aber es nicht beeinflussen.

--

meine engine

zum Seitenanfang zum Seitenende Profil || Suche
007
26.12.2003, 15:52
Spike



wie wär denn damit:
PHP-Quellcode:<?php
$file 
fopen ("http://de3.php.net/manual/de/features.remote-files.php""r");
if (!
$file
{
  echo 
"<p>Datei konnte nicht geöffnet werden.\n";
}
else
{
  echo 
"<p>Datei existiert.\n";
}
?>

--

Kill? Box? Killbox!
Die Intelligenz ist eine Konstante, nur die Bevölkerung wächst.

zum Seitenanfang zum Seitenende Profil || Suche
008
26.12.2003, 17:51
speziFanta



MÖP? Wo ist das Problem? Solle so klappen
PHP-Quellcode:<?php
while(curl_getinfo($chCURLINFO_SIZE_DOWNLOAD) < 10240// 10 * 1024 = 10 KB
{
    
//auslesen
}
?>

--

Heute schon gegoogelt?
spezi|Clan
TheWall.de - wo jeder alles sein kann.

zum Seitenanfang zum Seitenende Profil || Suche
009
26.12.2003, 18:17
KennyMcCormick



wäre nicht auch file_exists ne möglichkeit?

--

zum Seitenanfang zum Seitenende Profil || Suche
010
26.12.2003, 18:46
Spike



file_exists geht nur bei lokalen dateien.

--

Kill? Box? Killbox!
Die Intelligenz ist eine Konstante, nur die Bevölkerung wächst.

zum Seitenanfang zum Seitenende Profil || Suche