我有以下示例代码
<?php
`echo test > /tmp/test.txt`;
$f=fopen("/tmp/test.txt","w+");
`rm /tmp/test.txt`;
var_dump(fwrite($f,"test"));
fclose($f);
file_get_contents("/tmp/test.txt");
它创建一个文件,打开一个指向它的指针,删除该文件然后尝试写入它。现在我希望 fwrite 返回 false 或 0,因为不会写入任何数据,但是它会产生以下输出
int(4)
Warning: file_get_contents(/tmp/test.txt): failed to open stream: No such file or directory in /Stuff/tmp/test3 on line 7
所以 fwrite 显然成功了,但 file_get_contents 按预期失败。
fwrite 返回要写入的字节数是预期的行为吗?如果是这样,我如何测试写入是否真的成功?
这是 php 5.3.3