fapchat
@fapchat

Зачем тут fclose(fopen($file, "a+b"));?

<?php ## Модель процесса-писателя.
  $file = "file.txt";

  // Вначале создаем пустой файл, ЕСЛИ ЕГО ЕЩЕ НЕТ.
  // Если же файл существует, это его не разрушит.
  fclose(fopen($file, "a+b"));

  // Блокируем файл.
  $f = fopen($file, "r+b") or die("Не могу открыть файл!");
  flock($f, LOCK_EX); // ждем, пока мы не станем единственными

    // . . .
    // В этой точке мы можем быть уверены, что только эта 
    // программа работает с файлом.
    // . . . 

  // Все сделано. Снимаем блокировку.
  fclose($f);
?>

Зачем тут fclose(fopen($file, "a+b")); если мы уже создали
$file = "file.txt"
?
  • Вопрос задан
  • 254 просмотра
Решения вопроса 1
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
'a' - Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать.


если мы уже создали
$file = "file.txt"
В этой строке вы сохранили имя файла в переменную.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@prishelec
Я абсолютно не вижу смысла в данной строке.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Вообще-то прямо над этой строчкой есть комментарий, в котором написано что происходит.

Ну да, комментарий не идеален. Он не объясняет ЗАЧЕМ это делать, а это важно.
А еще автор кода возможно забыл о существовании touch(). Или fclose(fopen($file, "a+b")); делает что-то более хитрое?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы