簡體   English   中英

PHP和stdin / stdout:一開始的多余換行符從哪里來?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM