當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP touch( )用法及代碼示例


PHP中的touch()函數是一個內置函數,用於設置指定文件的訪問和修改時間。
必須將需要設置訪問和修改時間的文件的文件名與時間一起作為參數發送到touch()函數,成功時返回True,失敗時返回False。如果文件不存在,則首先創建它。

用法:

touch(filename, time, atime)

使用的參數:
PHP中的touch()函數接受三個參數。


  1. filename :它是必填參數,用於指定必須更改其訪問和修改時間的文件的文件名。
  2. time :它是指定時間的可選參數。默認情況下,它占用當前係統時間。
  3. atime :它是一個可選參數,用於指定訪問時間。默認情況下,如果未設置任何參數,它將花費當前係統時間。

返回值:
成功返回True,失敗返回False。

錯誤與異常

  1. 時間分辨率可能因一個文件係統而異,因此有時可能會得到意想不到的結果。
  2. touch()函數中的$time參數的將來限製約為1000000秒。
  3. 目錄上使用的touch()函數返回FALSE,並在NTFS和FAT文件係統上打印“Permission denied”。

例子:

Input : $file_pointer = "gfg.txt";
        if (touch($file_pointer)) 
        {
           echo ("$file_pointer modification time has been set to current system time.");
        } 
        else 
        {
           echo ("$file_pointer modification time cannot be changed.");
        }
Output :gfg.txt modification time has been set to current system time.

Input : $file_pointer = "gfg.txt";
        $time = time() - 18000;
        if (touch($file_pointer, $time)) 
        {
           echo ("$file_pointer modification time has been changed to 5 hours in the past.");
        } 
        else 
        {
           echo ("$file_pointer modification time cannot be changed.");
        }

Output : gfg.txt modification time has been changed to 5 hours in the past.

以下示例程序旨在說明touch()函數。

假設有一個名為“gfg.txt”的文件

程序1:

<?php 
$file_pointer = "gfg.txt"; 
// using touch() function to change the modification  
// time of a file to current system time 
if (touch($file_pointer))  
{ 
   echo ("$file_pointer modification time has been set to current system time."); 
}  
else 
{ 
   echo ("$file_pointer modification time cannot be changed."); 
} 
  
?>

輸出:

gfg.txt modification time has been set to current system time.

程序2:

<?php 
$file_pointer = "gfg.txt"; 
  
// setting touch time to 5 hours in the past 
$time = time() - 18000; 
  
// using touch() function to change the modification  
// time of a file to current system time 
if (touch($file_pointer, $time))  
{ 
    echo ("$file_pointer modification time has been changed to 5 hours in the past."); 
 }  
else 
{ 
   echo ("$file_pointer modification time cannot be changed."); 
} 
  
?>

輸出:

gfg.txt modification time has been changed to 5 hours in the past.

參考:
http://php.net/manual/en/function.touch.php



相關用法


注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 PHP | touch() function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。