我注意到了php中的fgets(STDIN)
我有这段代码:
if($fd = fopen($filename, "a")){
$message = fgets(STDIN);
$message = $message.":";
echo $message;
//fwrite($fd, $message);
fclose($fd);
}
我尝试在文本文件的末尾插入例子:
helloWorld
但我总是:
helloWorld
:
不是:
helloWorld:
stdin是否自动换行?如何删除此自动跳转?
答案 0 :(得分:2)
使用stream_get_line代替fgets:
if($fd = fopen($filename, "a")){
$message = stream_get_line(STDIN, 1024);
$message = $message.":";
echo $message;
//fwrite($fd, $message);
fclose($fd);
}
或者您可以使用rtrim功能删除行结尾:
if($fd = fopen($filename, "a")){
$message = fgets(STDIN);
$message = rtrim($message, "\n\r") . ":";
echo $message;
//fwrite($fd, $message);
fclose($fd);
}