(PHP 4, PHP 5)
fwrite — Двоично-безопасно записване във файл
fwrite() записва съдържанието на string във файловия поток сочен от handle .
Указателен файлов ресурс, който обикновено се създава посредством fopen().
Низът, който ще бъде записан.
Ако е подаден параметър length , записа ще спре след като length байта са записани или докато се достигне края на string , което от двете се случи първо.
Имайте предвид, че ако е подаден параметър length конфигурационната опция magic_quotes_runtime ще бъде игнорирана и няма да бъдат изрязани наклонените черти (ако има) от string .
fwrite() връща броя на записаните байтове или FALSE при грешка.
Забележка: При операционни системи, които правят разлика между двоични и текстови файлове (като Windows), файлът трябва да е отворен с флаг "b" при извикването на fopen().
Забележка: Ако сте отворили файла сочен от handle с fopen() в режим на добавяне, записванията на fwrite() са атомични (освен в случаите, когато размера на string надвишава размера на блока на файловата система (при някои платформи); важи само за локални файлове). Това означава, че няма нужда да използвате flock() за да заключите ресурс преди да извикате fwrite() - данните ще бъдат записани без прекъсване.
Забележка: Ако запишете два пъти във указател към файл, вторите данни ще бъдат добавени към края на файла, т.е. следващия пример няма да работи както е очаквано:
<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);
// Съдържанието на 'data.txt' сега е 123, а не 23!
?>
Example #1 Прост пример за използване на fwrite()
<?php
$filename = 'test.txt';
$somecontent = "Add this to the file\n";
// Нека се уверим, че файла съществува и можем да пишем в него
if (is_writable($filename)) {
// В нашия пример отваряме $filename в режим за добавяне.
// Файловия указател е в края на файла и, т.е. там ще отидат данните записани с fwrite()
if (!$handle = fopen($filename, 'a')) {
echo "Не мога да отворя ($filename)";
exit;
}
// Записа $somecontent в напия отворен файл
if (fwrite($handle, $somecontent) === FALSE) {
echo "Не мога да записвам ($filename)";
exit;
}
echo "Успех, записах ($somecontent) във файл ($filename)";
fclose($handle);
} else {
echo "Не може да се пише в файл $filename";
}
?>