On Tue, July 25, 2006 10:32 am, James Nunnerley wrote: > We've created a file manager which allows users to access their web > space on > a server. It's working brilliantly, except that it would seem there > are > some caching issues, either by the system cache or the web server > cache that > are causing us a headache. > > When the script tries to delete a file, we always check (using > file_exists) > to see whether the file exists before it's deleted. But if some other process is deleting that file, you have a race condition. It's pointless to check before you delete, really -- You simply have to use the result from unlink() to know if it worked or not. > The check comes back true, but the unlink then fails, saying no file > or > directory there! > > We've tried turning off all errors (using error_reoprting(0) ) but > this > would seem to have little difference in the error - it still comes > back with > a failure. Any time the solution is error_reporting(0) then you are doing something fundamentally wrong. > We are using our own error handling, but before the command is carried > out, > there is this 0 call... If you use set_error_handler(), it is called regardless of error_reporting() settings. http://php.net/set_error_handler > Does anyone know how we can stop these errors? I would suggest that you make sure that you are using the FULL PATH to unlink() -- Relying on any kind of relative path is just going to get you into trouble. -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php