2016-03-15 2 views
1

Я прочитал манаула и знал, что w + писать и читать, только писать. Но как это понимать?В функции fopen PHP, в чем разница между w и w + режимом?

$file_name = $_SERVER['DOCUMENT_ROOT']."/../data/test.txt"; //file is exist 
$fp = fopen($file_name, 'w+'); 
fwrite($fp, 'hello, world!'); 
$len = filesize($file_name); 
echo $len; //13 
$contents = fread($fp, $len); 
var_dump($contents);//string(0) "" why? 
fclose($fp); 
+0

понять что? – Vincent

+1

@ C.Ricky Я думаю, что вы уже это сделали, постарайтесь не думать об этом –

+0

Короче говоря, используйте «w», если вы используете только 'fwrite' и« w + », если используете как' fread', так и 'fwrite' – apokryfos

ответ

1

Оба варианта ж и ш + обрежет файл при открытии с Еорепом. Разница в том, что вы можете точно прочитать, что было написано во время текущего сеанса, работающего с файлом (я имею в виду fopen-> fwrite-> fread (не будет пустым) -> fclose). Так что если вы попытаетесь прочитать файл, открытый с w и w + = результат в обоих случаях должен быть пустым

Смежные вопросы