我有一个包含单个字符串的文件。 我打开文件并读取值,使用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