php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.09.2006, 16:54  
Benutzer
 
Registriert seit: 25.03.2004
Beiträge: 63
kanti
Standard Zwischenergebnis

Hallo,

ich bin schon seit Tagen an diesem Problem. Ich möchte bei einem Skriptablauf das Zwischenergebnis ausgeben lassen Ich habe schon mit flush(), ob_implicit_flush(1); usw. versucht. Es kommt keine Azusgabe. Nach meine Recherchen hatte ich folgendes gefunden:

Zitat:
Also, flush() gibt nix direkt aus wenn:

- output-buffering an ist,
- wenn auf dem apachen mod_gzip läuft
- wenn für die Seite aktuell trans_sid aktiv ist

mehr fällt mir im Moment nicht ein. Diese oben aufgezählten Dinge,
kann man gut mit einer .htaccess ausschalten.
Habe in die php_ini datei nachgeschaut, der Buffer ist ausgeschaltet, ebenfalls mod_gzip und auch das trans_sid habe ich laube ich deaktiviert mit php_value session.use_trans_sid 0.

Doch es läuft immer noch nicht - kann mir vielleicht jemand noch einen Rat geben woran es liegen könnte?

Danke im Voraus - Kanti
kanti ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.09.2006, 22:17  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Versuch mal am Anfang des Skriptes ob_start() und dann nimmste eben entweder flush() oder ob_flush() probiers damit mal!
Flor1an ist offline  
Alt 29.09.2006, 22:20  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Kennst du das PHP-Handbuch? *g Ich meine blos, weil du hier über "Recherchen" schreibst, um an Infos zu kommen, die m Manual stehen.

Zitat:
Zitat von php.net/flush
flush() has no effect on the buffering scheme of your webserver or the browser on the client side. Thus you need to call both ob_flush() and flush() to flush the output buffers.

Several servers, especially on Win32, will still buffer the output from your script until it terminates before transmitting the results to the browser.

Server modules for Apache like mod_gzip may do buffering of their own that will cause flush() to not result in data being sent immediately to the client.

Even the browser may buffer its input before displaying it. Netscape, for example, buffers text until it receives an end-of-line or the beginning of a tag, and it won't render tables until the </table> tag of the outermost table is seen.

Some versions of Microsoft Internet Explorer will only start to display the page after they have received 256 bytes of output, so you may need to send extra whitespace before flushing to get those browsers to display the page.
Vielleicht finest du dort ja was in den Kommentaren, oder der Tipp mit ob_flush() + flush() + mind. 256 Bytes hilft dir schon weiter.

Basti
Basti ist offline  
Alt 02.10.2006, 23:54  
Benutzer
 
Registriert seit: 25.03.2004
Beiträge: 63
kanti
Standard

Hallo Basti,

danke für deine Antwort. Ich habe es mit folgendem Skript versucht:

Zitat:
<?php
echo str_repeat(" ", 1024) . "\n";
echo "Hallo";
ob_flush();
flush();
sleep(3);
echo "Welt";
ob_flush();
flush();
sleep(3);
echo "hier";
ob_flush();
flush();
sleep(3);
echo "bin";
ob_flush();
flush();
sleep(3);
echo "ich";
?>
Es wird mir erst ausgegeben, wenn das Skript bis zum Schluss abgearbeitet wurde.
Gruss Kanti
kanti ist offline  
Alt 03.10.2006, 00:01  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Haste eigentlich meinen Post gelesen? Schreib mal vor dein Skript ob_start(). Aber das Skript wird bei mir auch zeitverzögert ausgegeben...
Flor1an ist offline  
Alt 04.10.2006, 09:30  
Benutzer
 
Registriert seit: 25.03.2004
Beiträge: 63
kanti
Standard

Hallo RaZoR,

ich werde es versuchen, habe das ob_start ohl überlesen.

Gruss Kanti
kanti ist offline  
Alt 04.10.2006, 10:08  
Benutzer
 
Registriert seit: 25.03.2004
Beiträge: 63
kanti
Standard

Hallo RaZoR,

hat auch nicht geholfen.
Wenn ich folgende Funktion aufrufe ini_get_all(), wird mir unteranderem folgendes ausgegeben
PHP-Code:
[output_buffering] => Array ( [global_value] => [local_value] => [access] => 
Kann mir jemnad sagen was access 6 bedeutet?

gruss kanti
kanti ist offline  
Alt 17.10.2006, 16:43  
Benutzer
 
Registriert seit: 25.03.2004
Beiträge: 63
kanti
Standard Das Problem hat sich teil...

Also das Problem hat sich teilweise lösen lassen. Wahrscheinlich liegt es daran, dass ich mit Typo3 arbeite. Also folgendes:

Zitat:
$inhalt=ob_get_contents();
ob_end_clean ();

:
:skript

$content="Einen Augenblick die CSV-Dateien werden erstellt.";
print $content;
ob_flush();
flush();

:
:
:skript
//ende der seite (ende ingefügtes Skript in Typo3)
echo $inhalt;
ob_end_flush();
kanti ist offline  
Alt 18.10.2006, 13:36  
Erfahrener Benutzer
 
Registriert seit: 05.02.2004
Beiträge: 166
goelliboy
goelliboy eine Nachricht über ICQ schicken
Standard

Es ist ja wohl klar, wenn man PHP Code mit Typo3 aufruft, dass es dann zu solchen Problemen kommt oO...

Typo3 Cached doch die Seiten, von daher kann man das so nicht lösen sondern nur mit den Lösungsansatz, was du auch geschrieben hattest...
goelliboy ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zwischenergebnis ausgeben kanti PHP Tipps 2006 2 18.04.2006 10:05
[Erledigt] Distanz zwischen zwei Bild-Koordinaten berechnen - Machbar? PHP-Fortgeschrittene 4 28.08.2005 17:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php zwischenergebnisse ausgeben, ajax zwischenergebnis, php zwischenergebnis, zwischenergebnis php, php zwischenergebnisse, typo3 ob_flush, internet explorer anzeige von php flush, http://www.php.de/php-tipps-2006/42306-zwischenergebnis.html, php mod_gzip ausschalten, php zwischenergebnis ausgeben, php zwischenresultat ausgeben, php script zwischenergebnis, php sleep flush, ajax zwischenergebnisse, str_repeat sleep php, php echo zeitverzögert ausgeben, ajax zwischenergebnisse anzeigen, apache mod_gzip deaktivieren php flush(), output buffering in htaccess für ein script ausschalten, ajax request zwischenergebnis

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.