Вы можете столкнуться с проблемой состояния гонки
Чтобы избежать этого, если вам нужны только простые данные добавления, вы можете использовать
file_put_contents(,,FILE_APPEND|LOCK_EX);
и не беспокойтесь о сохранности ваших данных.
Если вам нужна более сложная операция, вы можете использовать flock (используется для простой задачи чтения / записи)
Для вашего счетчика скриптов PHP я предлагаю вам сделать что-то вроде этого:
//> Register this impression
file_put_contents( $file, "\n", FILE_APPEND|LOCK_EX );
//> Read the total number of impression
echo count(file($file));
Таким образом, вам не нужно реализовывать механизм блокировки, и вы можете облегчить работу системы и вашего скрипта кода
Добавление
Чтобы избежать подсчета array file()
, вы можете сделать систему еще легче благодаря этому:
//> Register this impression
file_put_contents( $file, '1', FILE_APPEND|LOCK_EX );
//> Read the total number of impression
echo filesize($file);
В основном, чтобы прочитать номер вашего счетчика, вам просто нужно прочитать его размер файла, учитывая, что каждое впечатление добавляет 1 байт к нему