note 37553 added to function.fopen

From: Date: Wed, 19 Nov 2003 16:15:48 +0000
Subject: note 37553 added to function.fopen
Groups: php.notes 
Request: Send a blank email to php-notes+get-60626@lists.php.net to get a copy of this message
<?php #going to update last users counter script since #aborting a write because a file is locked is not correct. $counter_file = '/tmp/counter.txt'; clearstatcache(); ignore_user_abort(true); ## prevent refresh from aborting file operations and hosing file if (file_exists($counter_file)) { $fh = fopen($counter_file, 'r+'); while(1) { if (flock($fh, LOCK_EX)) { #$buffer = chop(fgets($fh, 2)); $buffer = chop(fread($fh, filesize($counter_file))); $buffer++; rewind($fh); fwrite($fh, $buffer); fflush($fh); ftruncate($fh, ftell($fh)); flock($fh, LOCK_UN); break; } } } else { $fh = fopen($counter_file, 'w+'); fwrite($fh, "1"); $buffer="1"; } fclose($fh); print "Count is $buffer"; ?> ---- Manual Page -- http://www.php.net/manual/en/function.fopen.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+37553 Delete -- http://master.php.net/manage/user-notes.php?action=delete+37553&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+37553&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#60626) next »