HORO
Новичок
Задача запретить всем параллельно читать и писать в файл.
Ну сделал LOCK_EX перед чтением и LOCK_UN после записи.
И на windows 7 стало выдавать ошибку
Подскажите как заставить это работать под виндой...
вот так лочу
Ну сделал LOCK_EX перед чтением и LOCK_UN после записи.
И на windows 7 стало выдавать ошибку
ошибка только под виндой возникает.Warning: file_put_contents() [function.file-put-contents]: Only 0 of 26 bytes written, possibly out of free disk space
Подскажите как заставить это работать под виндой...
вот так лочу
PHP:
function LockData($file,$locker=LOCK_EX){
static $streams=array();
$md=md5($file);
if(empty($streams[$md])){
$streams[$md]=fopen($file,'a+');
}
$i=0;
do{
$lock=flock($streams[$md],$locker);
}while(!$lock && ++$i<=3);
return $lock;
}