
26.03.2009, 11:05
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме: 905389
Репутация:
332
|
|
Сообщение от foxxx1234
Подскажите как решить такую проблему:
Есть скрипт который добавляет людей подавших заявку в друзья на сайте вконтакте.
При запуске скрипт проверяет не удалена ли анкета и если удалена то удаляет ее из файла с аками. Скрипт запускаю с cron и иногда в файл с аками записывается несколько одинаковых логинов.
Может ли это происходить например из-за того что например один скрипт запущеный с cron еще не доработал и запустился снова. Если да то как это проблему решить.
тебе надо на время работы скрипта блокировать файл.....
вот кусочек кода:
PHP код:
$file= fopen ("file.txt", "r"); //это понятно открываем файл
flock($file,2); //flock используется для блокировки/разблокировки файлов
//заблокировали файл полностью
while (! feof($file) //теперь работаем с файлом записываем читаем... как пример считывание файла полностью..
{
$text = fgets ($file, 1024);
echo ($text);
}
flock($file,3);//разблокировали файл
//да и не забудь if else использовать для проверки открыт ли файл..
За блокировку отвечает функция flock(указатель на файл , вид блокировки). Вид блокировки обозначается цифрой (1 - частичная, 2 - полная). Чтобы разблокировать файл пользуйесь функцией flock, но вид блокировки поставьте "3". © WebCorp
|
|
|