Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
function SafeAppendToFile($filename, $content) {
$fp = @fopen($filename, "ab");
if ($fp) {
flock ($fp,LOCK_EX);
fwrite($fp, $content);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
}
}
А для чего fflush(), если хэндл тут же следом закрывается?функция дописывания текста в конец файла с блокировкой для защиты файла в момент записи:
Для чего вам нужна запись в файл? Логи писать? Или хранить в тексте небольшую базу данных с возможностью записи/чтения? И, наверное, несколькими пользователями одновременно?PHP:function SafeAppendToFile($filename, $content) { $fp = @fopen($filename, "ab"); if ($fp) { flock ($fp,LOCK_EX); fwrite($fp, $content); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); } }
<?php
function WriteFile ($file_name, $data, $mode = "a")
{
$fp = fopen($file_name, $mode);
if(!$fp) {
return FALSE;
} else {
if(!flock($fp, LOCK_EX)) {
return FALSE;
} else {
if(!fwrite($fp, $data)) {
return FALSE;
} else {
if(!flock($fp, LOCK_UN)) {
return FALSE;
} else {
if(!fclose($fp)) {
return FALSE;
}
}
}
}
}
return TRUE;
}
?>
функция дописывания текста в конец файла с блокировкой для защиты файла в момент записи:
Для чего вам нужна запись в файл? Логи писать? Или хранить в тексте небольшую базу данных с возможностью записи/чтения? И, наверное, несколькими пользователями одновременно?PHP:function SafeAppendToFile($filename, $content) { $fp = @fopen($filename, "ab"); if ($fp) { flock ($fp,LOCK_EX); fwrite($fp, $content); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); } }
ps А как можно к этому коду подцепить форму заказа?
а вот тут интересный момент получается. Хэндл закрывается не тут же, а после flock(). При наличии буфера и если при этом буфер не полностью заполнен фактическая запись выносится за flock. Я бы оставил fflush.А для чего fflush(), если хэндл тут же следом закрывается?
И где обработка случая, если не удастся поставить лок, на момент записи? Все равно будем писать?
if ( !$fp || !flock($fp,LOCK_EX|LOCK_NB,$eWouldBlock) || $eWouldBlock ) {
Мне надо хранить небольшую базу данных в этом файле с возможностью чтения и записи!
ps А как можно к этому коду подцепить форму заказа?
Да прямо в точку! надо чтобы всё записалось в простой txt файл а не в базу данных занесось!а конкретней? телепаты в отпуске. Тебе надо с формы заказы введенные данные записывать в файл?
Что такое sqlite? расскажи поподробнее!а почему не использовать sqlite ?