我注意到 php 中的 fgets(STDIN) 有一些东西
我有这个代码:
if($fd = fopen($filename, "a")){
$message = fgets(STDIN);
$message = $message.":";
echo $message;
//fwrite($fd, $message);
fclose($fd);
}
我尝试在文本文件末尾插入示例:
helloWorld
但我总是有:
helloWorld
:
不是:
helloWorld:
stdin 是否会自动换行?如何去掉这个自动跳转?
最佳答案
使用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);
}
关于php - fgets(STDIN) 自动换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16560755/