Läd ewig ;-)

Alles, was PHP betrifft, kann hier besprochen werden.

Läd ewig ;-)

Postby tromorow » 24. May 2004 18:52

Hi Jungs ich bin’s mal wieder!

Hab ne frage: kann ich mit PHP irgend wie prüfen ob der Server von dem ich via PHP etwas Downloaden will online ist ohne lange Wartezeiten zu bekommen.

Ich habe nämlich das Problem dass mein (Linux) Server ewig lädt wenn der Server Offline ist.
tromorow
 
Posts: 84
Joined: 13. January 2004 18:00
Location: "Sturgot" oder auch Stuttgart (zumindes irgend wo da)

Postby Wiedmann » 24. May 2004 19:00

Wie realisierst du das: "via PHP etwas Downloaden"?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby tromorow » 25. May 2004 20:04

Kurtzer Ausschitt aus meinem Quelltext:

Code: Select all
           $Server_Download_File = '';
           $file1 = fopen(urlcheck($main_system_update_updatefile), 'rb');
           echo "Downloading the update files! ";
        while(!@feof($file1)) {
      $Server_Download_File = $Server_Download_File.@fread($file1, 1024);
      echo '|';
        }
      echo " <font color=\"#009900\">Finish!</font><br>";
      sleep(1);
      echo "Saving the downloaded files! ";
      @fclose($file1);
           $file2 = @fopen('tmp/zip.zip', 'wb');
      @fwrite($file2, $Server_Download_File);
      if(@fclose($file2)){
        echo "<font color=\"#009900\">Saved</font><br>";


Für Funktionsverbesserung besten Dank an: Wiedmann ;-) fals dich erinnersch? !!!

Aber danke für die Antwort ;-).
tromorow
 
Posts: 84
Joined: 13. January 2004 18:00
Location: "Sturgot" oder auch Stuttgart (zumindes irgend wo da)

Postby Wiedmann » 25. May 2004 21:01

tromorow wrote:
Code: Select all
$file1 = fopen(urlcheck($main_system_update_updatefile), 'rb');



fopen gibt ja FALSE zurück, wenn der Server nicht erreichbar ist, oder überhaupt die komplette URI nicht erreichbar/falsch ist (was macht denn urlcheck?). Jetzt kannst du entweder die weiteren Befehle in einen if - Block reinpacken. Oder in der Kurzfassung: Bei einem Fehler den Script abbrechen:
Code: Select all
$file1 = @fopen($main_system_update_updatefile, 'rb')
   or die ('Downloadserver kann nicht erreicht werden oder die URI ist falsch!');
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby tromorow » 26. May 2004 16:10

Die Funktion „urlcheck()“ prüft die URL ob sie Sonderzeichen oder Lehrzeichen enthält und formt diese um in diese URL form um. Unter anderem macht sie aus allen \ normale / und noch andere Sachen.

Aber zurück zu meinem Problem, wenn ich des auf Linux ausführe und die Internetverbindung steht nicht, dann lädt die Seite sich Tod. Bis jetzt habe ich jedes Mal nach 10 min aufgehört.
Ich meine dass bei Linux kein Time out drin ist!
Aber das habe ich schon nachgeschaut das steht drin.
Ich weis einfach nicht woran das liegt!
Windows bricht automatisch nach 30 sec. ab!
tromorow
 
Posts: 84
Joined: 13. January 2004 18:00
Location: "Sturgot" oder auch Stuttgart (zumindes irgend wo da)

Postby Wiedmann » 26. May 2004 16:35

Aber zurück zu meinem Problem, wenn ich des auf Linux ausführe und die Internetverbindung steht nicht, dann lädt die Seite sich Tod. Bis jetzt habe ich jedes Mal nach 10 min aufgehört.


Also auch, wenn du den Code von oben benutzt? Sprich, diese Zeile so abänderst?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby tromorow » 26. May 2004 16:55

ja gut ich habs bis jetzt nur folgender masen versucht:
Code: Select all
if($file1 = fopen(urlcheck($main_system_update_updatefile), 'rb')){Quelcode}else
echo "ERROR M.S.G.";
tromorow
 
Posts: 84
Joined: 13. January 2004 18:00
Location: "Sturgot" oder auch Stuttgart (zumindes irgend wo da)

Postby Wiedmann » 26. May 2004 17:46

ja gut ich habs bis jetzt nur folgender masen versucht:

Ja, es geht mit meinem Code? Oder, keine Ahnung, du hast es gleich mit deinem eigenen versucht?

Code: Select all
if($file1 = fopen(urlcheck($main_system_update_updatefile), 'rb')){Quelcode}else
echo "ERROR M.S.G.";


Naja, der kann so nicht gehen.... : Eine Wertzuweisung in einer If-Bedingung ist falsch.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby tromorow » 26. May 2004 17:51

habs aber auch schon mit :
Code: Select all
$file1 = fopen(urlcheck($main_system_update_updatefile), 'rb');
if($file1){Quelcode}else
echo "ERROR M.S.G.";

versucht!

Nein mit nem eigenen Server habichs schon getestet aber da klapts!
aber wenn der garkeine Internetverbindung hat der server dann kans nicht am externen Server liegen!?!
tromorow
 
Posts: 84
Joined: 13. January 2004 18:00
Location: "Sturgot" oder auch Stuttgart (zumindes irgend wo da)

HALLO?

Postby tromorow » 05. June 2004 12:14

ÄÄÄÄÄÄ

HALLO?

Noch jemand da?

Oder jemand anderst der mir hilfe geben kann??

Oder isch des Forum ausgeschtorben?
tromorow
 
Posts: 84
Joined: 13. January 2004 18:00
Location: "Sturgot" oder auch Stuttgart (zumindes irgend wo da)

Postby lain » 15. June 2004 11:37

mit fsockopen kannst du testen ob nen server online ist ..

$fp = fsockopen("192.168.0.1", 80);
if(!$fp)
print('offline');
else
print('online');


zu beachten sei hierbei, dass damit lediglich auf einen offnen port getestet werden kann. d.h. wenn, wie in meinem beispiel, der webserver sich mal abgeschossen hat auch die funktion versagt :>

port kannst jeden benutzen .. ip kann auch nen dns name sein .. usw
lain
 
Posts: 38
Joined: 19. March 2004 13:48


Return to PHP

Who is online

Users browsing this forum: No registered users and 4 guests