Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > endlosschleife (+ftp)
Antwort
 
Themen-Optionen
Alt 29.03.2006, 20:39   Nach oben    #1
N!cKY
Neuer Benutzer
 
Benutzerbild von N!cKY
 
Registriert seit: 03.03.2006
Ort: Msobach
Beiträge: 14
Standard endlosschleife (+ftp)

hallo, ich hab mir ne kleine dateisynchronisation geschrieben, naja ist auch nicht so wichtig.die synchro soll solang laufn bis ich stop sag, deshalb die endlosschleife, die so aussieht:
PHP-Code:
while(TRUE) {
    if(
$sync->syncFile($cfgSync::pRIO_LOCAL) !== Sync::NO_CHANGE)
        
printf("(%s) %s  updated\n"date('d.m.Y H:i:s'), $cfg[Sync::LOCAL_DIR].DIRECTORY_SEPARATOR.$cfg[Sync::LOCAL_FILE]);

also wenn was hoch - bzw. runtergeladen wird soll mir das nen string ausgeben, macht es aber nicht.ich verwende keine outputpuffer oder ähnliches, also kann ich mir das ganze nicht erklären!laufn tut das ganze nur es wird mir nei was ausgegeben, und wennns mal richtig läuft werd ich wohl noch sleep() o.ä. reinmachen gegen die große belastung!

und noch was:
die synchro läuft über ftp (mit einer eigenen klasse), und wie gesagt ist das ganze in ner endlosschleife, wenn man die synchro abbrechen will muss man den STOP button im browser drücken und dann werden die destruktoren meiner klassen (FTP, Sync) nicht aufgerufen, das heißt man wird nicht vom ftp server ausgeloggt.was schlecht is, weil dann nach ner weile das kommt:
Zitat:
ERROR status code must be 230: 530 Sorry, the maximum number of clients (6) for this user are already connected.
also gibt es ne möglichkeit eine funktion/methode aufzurufen nachdem der client den stop button gedrückt hat?

hoff ihr habt meine probs einigermaßen verstanden, wenn nciht fragt nochmal nach!
dankeschön
__________________
Mein Blog: nicky.nubbel.info
N!cKY ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.03.2006, 23:57   Nach oben    #2
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
Standard

Wirklich verstanden habe ich das Problem nicht.
Du willst aus der Endlosschleife raus, oder wie?
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.03.2006, 07:04   Nach oben    #3
Skinwalker
Benutzer
 
Benutzerbild von Skinwalker
 
Registriert seit: 24.01.2006
Beiträge: 66
Standard

bin mir grad nicht hundertpro sicher aber läuft php nicht nachdem prinzip erstmal alles berechnen und dann die ausgabe?
was du willst würde dann nicht so funktionieren...
Skinwalker ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.03.2006, 12:35   Nach oben    #4
Lars
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Eigentlich nicht. Ohne entsprechende Header geben die meisten Browser allerdings erst etwas aus, wenn der Request fertig ist.
Lars ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.03.2006, 15:30   Nach oben    #5
N!cKY
Neuer Benutzer
 
Benutzerbild von N!cKY
 
Registriert seit: 03.03.2006
Ort: Msobach
Beiträge: 14
Standard

also mit flush() funktioniert die ausgabe.
die schleife sieht jetzt so aus:
PHP-Code:
ignore_user_abort(TRUE);
while(!
connection_aborted()) {
    
flush();
    if(
$sync->syncFile($cfgSync::pRIO_LOCAL) !== Sync::NO_CHANGE)
        
printf("(%s) %s  updated\n"date('d.m.Y H:i:s'), $cfg[Sync::LOCAL_DIR].DIRECTORY_SEPARATOR.$cfg[Sync::LOCAL_FILE]);

mit ignore_user_abort(TRUE); und connection_aborted() wollte ich das zweite problem lösen, wenn der client STOP drückt soll die schleife abgebrochen werden und somit das script beendet werden --> destruct methoden der klassen sollten aufgerufen werden!ob das jetzt wirklich funktioniert weiß ich nicht genau, denk aber eher nicht da hin und wieder immernoch
Zitat:
ERROR status code must be 230: 530 Sorry, the maximum number of clients (6) for this user are already connected.
kommt!dürfte ja eingentlich nichtmehr kommen, weiß jemand warum doch?
__________________
Mein Blog: nicky.nubbel.info
N!cKY ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.03.2006, 16:55   Nach oben    #6
N!cKY
Neuer Benutzer
 
Benutzerbild von N!cKY
 
Registriert seit: 03.03.2006
Ort: Msobach
Beiträge: 14
Standard

so also es geht jetzt alles, ich musste nur in die schleife das packen:
echo "\n";
warum genau weiß ich selber nicht aber es funktioniert!
btw. hab ich flush() rausgeschmissen aus der schleife und benutze jetzt über der schleife ob_implicit_flush();
danke für eure hilfe
__________________
Mein Blog: nicky.nubbel.info
N!cKY ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
VCS ohne Server über FTP pago Tools, Server, Betriebssysteme 10 06.08.2007 14:59
WebDAV oder FTP? Jan Tools, Server, Betriebssysteme 15 11.07.2007 14:06
Ftp Root Per Php cspiegl PHP-Programmierung 18 13.05.2007 10:49
ftp client WurstBrot Allgemeine Java-Programmierung 7 05.09.2005 07:47
FTP Client in Java? tuxsymptom Allgemeine Java-Programmierung 4 14.08.2004 22:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:34 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44