Bir yii komut stdin okumak nasıl

2 Cevap php

Herkes Yii çerçevesinde özel komutunu kullanarak stdin okuma biliyor mu?

Ben bir php komut dosyası yoluyla gelen postalar işlemek için bir senaryo yazmakla meşgul değilim ama aynı zamanda Yii çerçevesinde gelen işlevselliği gerekir. Eğer CConsoleCommand uzatmak varsayılan olarak Yii your run () metodu bir değişken olarak komut satırı argümanları geçer. Herhangi bir fikir?

2 Cevap

Tamam bu Biliyorum komik olacak ama sorumu yazdıktan sonra ben de anladım.

Süper serin Yii çerçevesini kullanarak, ve böyle bir şey yapmak istiyorum o sizin için, burada bunu yapıyor hakkında gitmek nasıl olduğunu.

Genel vadede () yöntemi sadece aşağıdakileri ekleyin:

$fd = fopen("php://stdin", "r");
$content = "";
while (!feof($fd)){
   $content .= fread($fd, 1024);
}
fclose($fd);

Eğer $ içerik değişkeninde dosyaya akış / gönderildi olursa olsun almak mümkün olacaktır.

Bu bloktan sonra eklemek herhangi bir kod en kısa sürede stdin yakalandığı olarak işlenmiş olacaktır.

c'',)

Sen CConsoleCommand::promt() Stdin'den (Burada daha fazla bilgi http://www.yiiframework.com/doc/api/1.1/CConsoleCommand#prompt-detail) giriş almak için kullanabileceğiniz