PHP: Sıralı Çıktı için en iyi yöntemi?

2 Cevap php

Bir PHP yükleyicisi script sıralı çıkışı kurmak için en iyi yaklaşım nedir? Ben bir sayfa var, ve bir PHP komut dosyası tarafından sağlanan bir DIV içerisinde aşamalı çıkışını görüntülemek istiyorsanız söyleyin.

Yani page.html Bu içerebilir:

<div id="output">
    <!-- Script Output Here -->
</div>

Ve install.php (deneme amaçlı) bu gibi görünebilir:

<?php
// Turn off Output Buffering
ob_end_flush();

// Begin Test Output (5 second intervals)
echo 'Testing incremental output...' . "\n";
sleep(5);
echo 'Step 1...' . "\n";
sleep(5);
echo 'Step 2...' . "\n";
sleep(5);
echo 'Complete!' . "\n";

AJAX iyi yaklaşım olabilir düşünüyordum, ama bu yaklaşım nasıl emin değilim. Bu tüm gol Moot yapma - Ben JavaScript aracılığıyla "install.php" yüklerseniz komut dosyası yürütülmesine (? Düzeltin) bitinceye kadar, ben her şeyi geri almazsınız. Ben bunu daha önce yapmış gördüm, ama nasıl yapıldığını somut bir örnek bulamıyorum.

Herhangi bir yardım mutluluk!

2 Cevap

Ne istediğinizi Ajax yapacak şüphe - yerine ajax daha sık getirir aramak zorunda kalabilirsiniz.

Kısa sürede ürettiği bu gibi bilgileri dışarı kızarma için, bilgi çıktısı sonra düzenli flush() 's gerekir.

Ben de ilgili bir. Htaccess dosyası nedeniyle de (apache2) çıktı Gzip Sıkıştırma herhangi bir tamponlama önlemek için bir çizgi içine ekledik.

SetEnvIf Request_URI "/url/dont/buffer/me.php" gzip=0

İlgili PHP dosyası:

ini_set('output_buffering', false);
ini_set('implicit_flush', 'true');

ve uygun) (temizlemek için çağırır. Bu hemen hemen tüm üsleri kapsar.

Ben bir metin dosyasına çıktı her şey olur ve sadece. Txt dosyası arayarak AJAX DIV güncelleme