[英]PHP and stdin/stdout: where is the extra newline at the beginning coming from?
我正在使用PHP處理一些文件(運行regexp,replace等),並且我注意到在處理之后,在我處理的所有文件的開頭總是有一個換行符。 我將其范圍縮小到以下幾行:
#!/usr/bin/php
<?php
$test = file('php://stdin');
file_put_contents('php://stdout',$test);
?>
如果保存並在其中輸入一些文本,則會注意到輸出的開頭有換行符。 它來自哪里,如何擺脫它? 謝謝!
PS:PHP版本為:帶有Suhosin-Patch(cli)的PHP 5.3.6(內置:2011年9月8日19:34:00)
嗯,它在shebang行和<?php
。 我認為您可以很容易地弄清楚如何刪除它。
#!/usr/bin/php
<---blank line here
<?php
記住,沒有PHP腳本之類的東西。 只有文件碰巧嵌入了PHP代碼塊。 PHP引擎將<?php ?>
標記集之外的所有內容都視為“輸出”。 這意味着將輸出shebang和<?php
開頭標記之間的空白行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.