有没有办法让在Web站点上的文件的最后修改日期?
即这是一个例子文件,我已经在那里: http://www.ymcadetroit.org/atf/cf/%7B2101903E-A11A-4532-A64D-9D823368A605%7D/Birmingham_Youth_Sports_Parent_Manual.pdf
有没有办法让在Web站点上的文件的最后修改日期?
即这是一个例子文件,我已经在那里: http://www.ymcadetroit.org/atf/cf/%7B2101903E-A11A-4532-A64D-9D823368A605%7D/Birmingham_Youth_Sports_Parent_Manual.pdf
转到你想知道,等待它完全加载,然后到地址栏写的网站:
javascript:alert(document.lastModified)
你会得到的是说,当这是最后一次修改的弹出。
该HTTP打算在Last-Modified
头字段声明的最后修改日期。 但是,服务器需要知道日期。
在静态文件,其内容由服务器直接发送到客户端,而不是解释,否则(如.html
, .css
, .js
),它使用的文件的最后修改日期。 但是,对动态生成的内容文件(PHP,Python等)的脚本需要指定信息本身。 但不幸的是许多脚本不给。
因此,如果一个Last-Modified
头域,你可以使用这些信息。 但如果没有,你不能determin的最后修改日期。
我意识到这个问题是4岁,但搜索网站的证明了令人满意的答案仍然罕见。 彼得的答案是解决方案的一部分。 当我不得不解决同样的问题,这让我开始。 但是,该解决方案的休息...
正如他所说,Web服务器必须配置为发送最后修改日期...那么你如何配置Web服务器?
假设你已经控制的必要水平,你首先需要启用服务器端包含。 有几种方法可以做到这一点 - 其中一个是“xbithack”。 一个很好的参考是http://httpd.apache.org/docs/current/howto/ssi.html 。
假设你已经做到了这一点,你需要设置执行位上需要有服务器端包含任何解析HTML文件。 这可以在类UNIX系统的命令行来完成: chmod u+x file.html
使用的文件中获取,信息(指令-I)或Mac上。
这使得片段实际上把你的文件,它看起来像这样:
This document last modified <!--#flastmod file="index.html" -->
因为我发现很多很多的建议,不包括这一点,只需使用的JavaScript document.lastModified
,我怀疑某些服务器给你你想要用JavaScript版本是什么,而另一些(包括一个托管我们的东西)不要”吨。
下面是一些C#代码来做到这一点:
public DateTime GetLastModifyTime(string url)
{
WebRequest request = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultNetworkCredentials;
request.Method = "HEAD";
using (WebResponse response = request.GetResponse())
{
string lastModifyString = response.Headers.Get("Last-Modified");
DateTime remoteTime;
if (DateTime.TryParse(lastModifyString, out remoteTime))
{
return remoteTime;
}
return DateTime.MinValue;
}
}
要获得客户端的最后修改日期,您可以使用访问HTML DOM lastModified
使用JavaScript性能。
在lastModified
属性抓住从所有的web请求发送的头部信息。 该值可以通过对事物的Web服务器端开发人员可以手动设置,因此可能无法反映负责提供内容的文件的实际最后修改日期。
<!DOCTYPE html> <html> <body> <b>document.lastModified : </b> <script>document.write( document.lastModified );</script> </body> </html>
在JavaScript的特定命令检索这是document.lastModified
并且可以容易地转换成Date
如下目的:
var x = new Date(document.lastModified);
更多信息可我作为一个参考的网站上找到HTML DOM LastModified属性:W3学校
我相信,Web服务器必须配置为发送最后修改日期在HTTP标头,这当然是一种方式。 检查出部分14.29上次修改此文件:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
只需简单的HTML,没有你不能。
你可以用PHP或ASP,或者任何其他服务器端语言。
我不是在头一个专家,但是相信你正在寻找这样的:
有一种方法来检查时,文件的修改日期: 谷歌浏览器的查看HTTP标头?
检查在那里(Chrome的开发者工具/网络/选定文件/头)的“IF-Modified-Since的”变量。
到现在为止这有助于我实现你的要求,获取文件的修改日期。
你可以做到以下几点来获得的Last-Modified: https://superuser.com/a/991895
使用curl:
curl -s -v -X HEAD http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
使用wget:
wget --server-response --spider http://example.com/bar/example.pdf 2>&1 | grep -i Last-Modified