Heim  >  Artikel  >  Backend-Entwicklung  >  PHP怎么判断文件是否被修改过

PHP怎么判断文件是否被修改过

WBOY
WBOYOriginal
2016-06-23 13:57:581405Durchsuche

我在做缓存机制  客户端请求服务端数据 如果服务端的文件没更新就不发给客户端了


回复讨论(解决方案)

你用什么做参照呢

提供下思路

可以请求API,返回是否有更新,有再获取文件更新cache。

服务器数据有更新时,将更新时间写在一个地方(db或文件)保存。
当客户端第一次请求,因为是第一次,肯定是需要获取的。这时把数据的最后更新时间也返回给客户端保存。
当客户端第2~N次请求时,把之前保存的数据最后更新时间作为参数传个服务器,服务器则与保存的最后更新时间比对,如果客户端的最后更新时间较小,则表示客户端的不是最新的数据,需要获取数据。否则不需要。

filemtime()

一种是filemtime()比较文件修改时间,另一种是filesize(),比较文件大小。
不过比较好的做法是“客户端请求服务端”的脚本里,添加一个数据库事务?你是怎么做文件修改的呢?
$_GET? $_POST?
file_put_contents()?fwrite()?
那么在这段代码后,将当前时间保存进数据库。

filectime

可以用filemtime(),来获取修改时间,再写到另外的一个文件里面.这样记录起来就直观了.

你放回服务器文件的最后一次修改时间,如果这个时间大于缓存时间,那么就修改缓存文件呗

一种是filemtime()比较文件修改时间,另一种是filesize(),比较文件大小。
不过比较好的做法是“客户端请求服务端”的脚本里,添加一个数据库事务?你是怎么做文件修改的呢?
$_GET? $_POST?
file_put_contents()?fwrite()?
那么在这段代码后,将当前时间保存进数据库。

谢谢
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn