Maison  >  Article  >  développement back-end  >  PHP的fwrite函数问题

PHP的fwrite函数问题

WBOY
WBOYoriginal
2016-06-06 20:28:041417parcourir

<code>
fwrite(STDOUT , "输入");
$msg = fgets(STDIN);

echo PHP_EOL . $msg . PHP_EOL;</code>

比如我键盘写 aa
$msg 就是 aa
我的问题是,$msg为什么不是 "输入" 或者 "输入aa",
而且为什么程序还会自己停在那里等我输入?
php不是应该直接往下执行的吗?

回复内容:

<code>
fwrite(STDOUT , "输入");
$msg = fgets(STDIN);

echo PHP_EOL . $msg . PHP_EOL;</code>

比如我键盘写 aa
$msg 就是 aa
我的问题是,$msg为什么不是 "输入" 或者 "输入aa",
而且为什么程序还会自己停在那里等我输入?
php不是应该直接往下执行的吗?

1、fgets 得到的是 STDIN 的输入,当然不包括“输入”这个字符串;
2、fgets 读取到换行符、EOF 或者指定长度(默认1K)的字符串时才会停止,随便输入几个字母当然不会停止;
3、PHP 是顺序执行

文件操作的文档
http://php.net/manual/zh/ref.filesystem.php

标准输入输出流的文档
http://php.net/manual/zh/wrappers.php.php

命令行模式开发的文档
http://php.net/manual/zh/features.commandline.php

如果学到了,记得给我打钱。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn