2012-05-22 3 views
0

Je ne sais pas si c'est un problème en PHP ou APACHE, mais je voulais imprimer certains résultats même si le script est toujours en cours d'exécution. Ce que je veux dire, c'est que, puisque ma boucle for est un script long, j'ai voulu imprimer une partie du résultat final sur cette boucle. Mais ce qui se passe, c'est que ça va juste charger la page, ne rien faire d'écho, et ça va juste montrer des choses quand le script est chargé, tout à la fois.imprimer une partie du résultat lors du chargement

P.S. C'est quand wamp ... quand je charge le script sur mon site en ligne, il imprimerait certains des résultats et ajouterait plus de résultat jusqu'à ce que le chargement du script soit fini. Faire tout le travail long dans les scripts séparés et utiliser AJAX pour charger le contenu nécessaire, vous pouvez également briser la partie de chargement en morceaux.

+0

_La page n'a pas de code HTML, pur PHP_ – weyhei

+1

Votre sortie est probablement bufferisée – Musa

+0

Que faire si les sorties sont bufferisées? Devrais-je modifier php.ini ou httpd.conf? ou juste ajouter du code à mon script php? – weyhei

Répondre

1

Si vous avez une sortie tamponner puis ajouter

ini_set("implicit_flush", "1"); 

au début de votre script pour la désactiver, cela affecte uniquement le script est en.
Si vous voulez désactiver loin l'ensemble du site mis output_buffering = Off dans php.ini
Vous pouvez également faites-le dans votre fichier .htaccess.

+0

Que diriez-vous s'il est éteint, quelle ligne devrait J'ajoute? juste changer 1 à 0? – weyhei

+0

Il suffit de le laisser comme – Musa

0

jQuery.get est une meilleure façon de commencer http://api.jquery.com/jQuery.get/

Le code exemple charge les données dans l'élément ayant id=result (bien sûr, vous devez inclure jQuery http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery)

$.get('long_script.php', function(data) { 
    $('#result').html(data); 
}); 

Bien sûr, cela est un peu plus difficile puis tout simplement faire écho les résultats dans la boucle, mais cela est garanti pour fonctionner sur n'importe quel serveur/navigateur et aussi toute la page est chargée pendant la longue tâche, ne limitant pas votre utilisation html/css

+0

pas de HTML ni javascript est utilisé, si – weyhei

+0

Dans ce cas, exécuter php depuis la ligne de commande sans utiliser Apache est probablement une option (mais peut-être pas, cela dépend de ce que vous avez besoin de beaucoup) –

Questions connexes