У меня был новичок (ближайший подросток), написавший код php для отслеживания использования на моем веб-сайте.Я не знаком с php, поэтому я немного спрашиваю о параллельном доступе к файлам.
Мое родное приложение (в Windows) иногда регистрирует некоторые данные на моем сайте, нажимая на URL, содержащий мой php-скрипт.Собственное приложение не проверяет возвращенные данные.
$fh = fopen($updateFile, 'a') or die("can't open file");
fwrite($fh, $ip);
fwrite($fh, ', ');
fwrite($fh, $date);
fwrite($fh, ', ');
fwrite($fh, implode(', ', $_GET));
fwrite($fh, "\r\n");
fclose($fh);
Это сайт с низким трафиком, и данные не являются критическими.Но что произойдет, если два пользователя столкнутся и два экземпляра скрипта попытаются добавить строку в файл?Есть ли какая-либо неявная блокировка файлов в php?
Является ли приведенный выше код по крайней мере безопасным от блокировки и никогда не возвращает управление моему пользователю?Может ли файл быть поврежден?Если у меня есть сценарий, описанный выше, удаляйте файл каждый месяц, что произойдет, если другой экземпляр сценария находится в середине записи в файл?