Php en Ligne de Commande de Sortie à la volée
Je suis en train d'écrire un script php en ligne de commande qui fait partie de la sortie de la fenêtre de la console, son tout l'air bien seul problèmes est que quand je tape
php myfilename.php -....
dans la fenêtre de la console, qu'APRÈS avoir entièrement exécuté, il affiche le résultat de la fenêtre ..
Wht je veux, c'est de le faire à la volée, comme ci-dessous
customer id: 1223 skipped.
customer id: 22233 added..
...etc
une autre question est ajout \n\r pour le printf fonctions ne sont pas allés à une nouvelle ligne ...
une idée sur ces questions..
OriginalL'auteur mahen3d | 2012-04-23
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, le Des fenêtres de style de fin de ligne de repère est
\r\n
, pas\n\r
. Pas beaucoup de systèmes de jamais utilisé\n\r
, mais ils sont assez rare que vous pouvez les oublier maintenant.Deuxième, les chances sont bonnes la sortie est bloc tampon -- vous pouvez soit utiliser
ob_implicit_flush(1)
pour insérer automatiquement unflush()
de commande après chaque sortie de la commande. Ou, vous pouvez l'appelerflush()
manuellement, lorsque vous devez rincer la sortie.OriginalL'auteur sarnold
Ceci est probablement dû à le tampon de sortie. Vous pouvez utiliser
ob_flush()
de vider la mémoire tampon manuellement en cas de besoin.Quant à votre deuxième question, la séquence correcte pour le saut de ligne sur Microsoft Windows est
"\r\n"
, pas l'inverse.OriginalL'auteur Tibor
À propos de la Fin-De-Ligne de marqueur, toujours utiliser PHP constante prédéfinie
PHP_EOL
; il est correctement défini en fonction de votre plate-forme, de sorte que vous n'avez pas à vous inquiéter, est-il bon ou mauvais.Pour le bouton [Enter] problème, il pourrait être le tampon de sortie est sur. Ajouter ce test simple dans votre script:
Pour les fonctions de contrôle de sortie voir http://www.php.net/manual/en/ref.outcontrol.php. Ils sont des outils très puissants.
Espère que cela aide. Cheers!
OriginalL'auteur kodeart