PHP fwrite her dosya yoksa bile bayt sayısı yazılacak döner, bu beklenen davranıştır?

0 Cevap php

Ben aşağıdaki örnek kodu var

<?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");

, Bir dosya oluşturur, bir işaretçi açar, dosyayı kaldırır sonra ona yazmaya çalışır. Hiçbir veri yazılır beri Şimdi ben fwrite return false veya 0 beklenebilir, ancak aşağıdaki çıktıyı üretir

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

Yani fwrite görünüşte başarılı ama beklendiği gibi file_get_contents başarısız olur.

Bu bayt sayısı yazılacak dönmek için fwrite için beklenen davranıştır? Yazma gerçekten başarılı olup olmadığını nasıl test edebilirim eğer öyleyse?

Bu php 5.3.3 ile

0 Cevap