Как вы удаляете или редактируете файл в PHP, когда он читается?

Предположим, что есть файл на PHP. Файл постоянно читается.
Я хочу запретить пользователям доступ к файлу, а затем удалить или отредактировать файл.
Как я могу это сделать?

-1

Решение

Пожалуйста, обратитесь к этому ответу.
блокировка файлов в php

Это охватывает запирающую часть. Однако, чтобы получить доступ к файлу, вам нужно выполнить цикл до снятия блокировки. Вот пример алгоритма.

   define(MAX_SLEEP, 3); // Decide a good value for number of tries
$sleep = 0; // Initialize value, always a good habit from C :)
$done = false; // Sentinel value
$flock = new Flock; // You need to implement this class
do {
if (! $flock->locked()) { // We have a green light
$flock->lock(); // Lock right away

//DO STUFF;

$flock->unlock(); // Release the lock so others can access
$done = true; // Allows the loop to exit

} else if ($sleep++ > MAX_SLEEP) { // Giving up, cannot write
// Handle exception, there are many possibilities:
//     Log exception and do nothing (definitely log)
//     Force a write
//     See if another process has been running for too long
//     Check for timestamp of the lock file, maybe left behind after a reboot
} else {
sleep(SLEEP_TIME);
}
} while(! $done);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]