проблема с file_exists

Buldozer

Новичок
проблема с file_exists

алгоритм:
флаг есть - ждем 4-ре секунды, и проверяем наличие флага еще раз.
флага нет - выполняем скрипт дальше.

код:
PHP:
<?php

$cache_wait_flag = 0;
while($cache_wait_flag == 0)
	{
	echo 'point 1<br>';
	if (file_exists("./busy.inf"))
		{
		echo 'point 2<br>';
		sleep(4);
		}
	else
		{
		echo 'point 3<br>';
		$cache_wait_flag = 1;
		}
	}

echo 'point 3';

?>
тестирую:
1. укладываю файл busy.inf, запускаю скрипт:

point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2

Fatal error: Maximum execution time of 30 seconds exceeded in c:\www\htdocs\wait.php on line 11

все ок - файл есть, скрипт цикл пройти не должен

2. удаляю файл busy.inf, запускаю скрипт:

point 1
point 3
point 4

3. укладываю файл busy.inf, и во время работы скрипта переименовываю его:

point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2
point 1
point 2

Fatal error: Maximum execution time of 30 seconds exceeded in c:\www\htdocs\wait.php on line 11

----------------------

тогда вот так:

PHP:
<?php

$cache_wait_flag = 0;
while($cache_wait_flag == 0)
	{
	echo 'point 1<br>';

	if ($dir = opendir("./"))
		{
  		while (($file = readdir($dir)) !== false)
  			{
    		echo "$file\n";
  			}
  		closedir($dir);
		}
	echo '<br>-------------<br>';

	if (file_exists("./busy.inf"))
		{
		echo 'point 2<br>';
		sleep(4);
		}
	else
		{
		echo 'point 3<br>';
		$cache_wait_flag = 1;
		}
	}

echo 'point 4';

?>
3. укладываю файл busy.inf, и во время работы скрипта переименовываю его:

point 1
. .. busy.inf wait.php
-------------
point 2
point 1
. .. busy.inf wait.php
-------------
point 2
point 1
. .. kjbusy.inf wait.php
-------------
point 2
point 1
. .. kjbusy.inf wait.php
-------------
point 2
point 1
. .. kjbusy.inf wait.php
-------------
point 2
point 1
. .. kjbusy.inf wait.php
-------------
point 2
point 1
. .. kjbusy.inf wait.php
-------------
point 2
point 1
. .. kjbusy.inf wait.php
-------------
point 2

Fatal error: Maximum execution time of 30 seconds exceeded in c:\www\htdocs\wait.php on line 22

Уже час тыркаюсь, подскажите, что за проблема??
 

ustas

Элекомист №1
ни хера не понял, кого укладываешь, но кое какие функции кешируют результат, то есть дважды не проверяют. Читал описание к функции. Если еще нет, читай целый час :)
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Buldozer
извините туплю.
в чём суть задачи?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Проверка файла на существание?
[m]clearstatcache[/m]
 
Сверху