2015-04-27 2 views
1

Я создал этот небольшой скрипт, который можно использовать для определения того, был ли файл изменен или нет. к сожалению, он не работает. Кто-то Pls помогает мне.Как узнать, был ли файл изменен или нет в php

<?php 
$l_m1 = filemtime("C:\wamp\www\learning\h.aspx"); 
print("filemtime1"); 
print($l_m1); 
sleep(10); 
$l_m2 = filemtime("C:\wamp\www\learning\h.aspx"); 
print("filemtime2"); 
print($l_m2); 
if((int)$l_m1 != (int)$l_m2) 
{ 
    alert("the files are different"); 
    system("start d:/kalimba.mp3"); 
} 
+0

Любая ошибка на выходе? Что значит, что он не работает? Я вижу, что l_m1 и l_m2 направляются в один и тот же файл. –

+0

Я дал сон (10), поэтому в течение этого времени я изменяю файл. Но это не работает. the out put m getting is "filemtime11430101042filemtime21430101042" thats it –

+0

в приведенном выше комментарии, хотя я изменяю файл, но все же числа не меняют –

ответ

3

результаты функции filemtime этой функции кэшируются

поэтому вы должны использовать clearstatcache(), чтобы очищает кэш состояния файлов;

попробовать ниже:

$l_m1 = filemtime("h.php"); 
print("filemtime1"); 
print($l_m1); 
sleep(10); 
clearstatcache(); 
$l_m2 = filemtime("h.php"); 
print("filemtime2"); 
print($l_m2); 
if((int)$l_m1 != (int)$l_m2) 
{ 
    alert("the files are different"); 
    system("start d:/kalimba.mp3"); 
} 
+0

его все тот же и ничего не изменилось. –

+0

вы уверены? Он работает в моем обычном режиме! Вы снова меняете свой адрес Папка для папки? –

+0

Имя файла h.aspx и u упомянули h.php. так будет их разница. coz его вообще не работает –

Смежные вопросы