我有一個包含單個字符串的文件。 我打開文件並讀取值,使用fopen和fgets,我注意到在字符串的末尾添加了一個空格。爲什麼fgets在字符串的末尾添加一個空格?
$file = fopen("myfile", "r") or exit("<br><p>Unable to open file</p><br>");
$mystring= fgets($file);
fclose($file);
內容MYFILE的:
Hello
測試
echo "<p>'".$mystring."'</p>"; //Output: 'Hello '
正如你可以看到現在有在字符串後面加上一個空格,即使沒有空間在文件。
我試着用Linux命令「貓」一樣的:
$mystring = shell_exec("cat myfile");
echo "<p>'".$mystring."'</p>"; //Output: 'Hello '
仍然在字符串後面加上一個空格。
我的目標是比較文件中的字符串和我的代碼中的值。
if ($mystring === "Hello")
{
echo "Equal";
}
else
{
echo "not equal";
}
我總是得到「不相等」。 我如何讀取和存儲實際的文件內容到我的變量中?
您可以使用['trim()'](http://php.net/manual/en/function.trim.php)。實際的文件內容是否有換行符?該文件是用不是文本友好的編輯器創建的嗎?有空間可以在那裏有很多原因。 –
不,因爲如果文件內容是'hello''('hello'最後有空格),那麼我最後會放鬆空間。我需要實際的內容。 該文件是用「nano」創建的,我也試過gedit。 – Black