У меня есть следующий пример кода
<?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