系統檔案:
在開發中我們有時需要知道檔案的最後訪問時間和檔案最後修改的時間,介紹一下PHP提供的確定檔案的訪問,建立和最後修改時間的3個函數:fileatime()
,filectime()
和filemtime()
。
1、fileatime()
int fileatime(string filename)
:fileatime()函數回傳filename最後存取的時間,這裡的最後存取是指每當一個檔案的資料區塊被讀取,採用UNIX
時間戳格式,有錯誤時回傳FALSE
。
2、filectime()
int filectime(string filename)
:filectime()函數傳回filename
最後改變的時間,這裡的最後改變是指指定檔案filename
的inode
inode (索引節點)用來存放檔案及目錄的基本資訊包含時間、檔名、使用者及群組等,採用
UNIX時間戳格式,有錯誤時回傳
FALSE。
3、
filemtime()
int filemtime(string filename):
filemtime()函數返回
filename最後修改的時間,最後修改指的是文件的內容改變,採用
UNIX時間戳格式,有錯誤時回傳
FALSE。
例如:
<code><span><span><?php</span><span>$file</span>=<span>"/software/test.txt"</span>; <span>echo</span><span>"文件最后访问的时间是"</span>.date(<span>"Y-m-d H:i:s"</span>,fileatime(<span>$file</span>)).<span>"<br/>"</span>; <span>echo</span><span>"文件最后改变的时间是"</span>.date(<span>"Y-m-d H:i:s"</span>,filectime(<span>$file</span>)).<span>"<br/>"</span>; <span>echo</span><span>"文件最后修改的时间是"</span>.date(<span>"Y-m-d H:i:s"</span>,filemtime(<span>$file</span>)).<span>"<br/>"</span>; <span>?></span></span></code>
<code><span><span>function</span><span>remote_filectime</span><span>(<span>$url_file</span>)</span>{</span><span>$headInf</span> = get_headers(<span>$url_file</span>,<span>1</span>); <span>//注意第二个参数 </span><span>return</span> strtotime(<span>$headInf</span>[<span>'Last-Modified'</span>]); } </code>
<code><span>Array</span> ( [<span>0</span>] => HTTP/<span>1.1</span><span>200</span> OK [Server] => nginx [Date] => Wed, <span>02</span> Mar <span>2016</span><span>07</span>:<span>34</span>:<span>52</span> GMT [Content-Type] => text/xml [Content-Length] => <span>2750</span> [Connection] => close [Set-Cookie] => IPLOC=CN1100; expires=Thu, <span>02</span>-Mar-<span>17</span><span>07</span>:<span>34</span>:<span>52</span> GMT; path=/ [P3P] => CP=<span>"CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"</span> [ETag] => <span>"Ahh8eNBCjmL"</span> [Last-Modified] => Tue, <span>02</span> Feb <span>2016</span><span>09</span>:<span>55</span>:<span>40</span> GMT [Accept-Ranges] => bytes )</code>