PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのtouch()関数とは?ファイルの時刻設定方法をわかりやすく解説

PHPのtouch()関数は、ファイルのアクセス時刻(atime)と更新時刻(mtime)を設定するための関数です。処理が成功した場合はTRUEを、失敗した場合はFALSEを返します。

基本構文

touch(filename, time, atime)

パラメータ

  • filename − 対象となるファイル名を指定します。

  • time − 設定する更新時刻を指定します。省略した場合は、現在のシステム時刻が使用されます。

  • atime − 設定するアクセス時刻を指定します。省略した場合は、現在のシステム時刻が使用されます。

戻り値

touch()関数は、処理が成功した場合にTRUEを、失敗した場合にFALSEを返します。

使用例1:更新時刻を現在時刻に変更する

<?php
$myfile = "new.txt";
// 更新時刻を現在のシステム時刻に変更する
if (touch($myfile)) {
    echo ("$myfile の更新時刻を現在時刻に設定しました。");
} else {
    echo ("$myfile の更新時刻を更新できませんでした。");
}
?>

出力結果

new.txt の更新時刻を現在時刻に設定しました。

次に、別の使用例を見てみましょう。

使用例2:更新時刻を過去の日時に変更する

<?php
$myfile = "new.txt";
$set_time = time() - 28800;
// 更新時刻を8時間前に変更する
if (touch($myfile, $set_time)) {
    echo ("$myfile の更新時刻を8時間前の時刻に更新しました。");
} else {
    echo ("$myfile の更新時刻を更新できませんでした。");
}
?>

出力結果

new.txt の更新時刻を8時間前の時刻に更新しました。

補足ポイント

  • time()関数から28800秒(=8時間)を引くことで、過去の時刻を指定できます。
  • 指定したファイルが存在しない場合、多くのシステムでは空のファイルが新規作成されます。
  • キャッシュファイルの有効期限管理や、ファイルの監視処理などで活用されることが多い関数です。
  1. 【PHP入門】filectime()関数の使い方 – ファイルの最終変更時刻を取得する方法

    PHPのfilectime()関数は、ファイルの最終変更時刻を取得するための関数です。取得できる時刻はUNIXタイムスタンプ形式で返され、処理に失敗した場合にはfalseを返します。なお、filectime()が返す「変更時刻」は、ファイルの中身だけでなく、パーミッションや所有者などファイルのメタ情報(inode)が変更された時刻も指します。単純にファイル内容の更新日時を知りたい場合はfilemtime()関数を使うとよいでしょう。構文filectime ( file_path );パラメータfile_path − 最終変更時刻を調べたいファイルへのパスを指定します。戻り値filectime(

  2. PHPのfileatime()関数とは?使い方とサンプルコードをわかりやすく解説

    PHPのfileatime()関数は、指定したファイルに最後にアクセス(読み取りなど)があった日時を取得するための組み込み関数です。取得できる値はUNIXタイムスタンプ形式で返され、ファイルへの最終アクセス時刻をプログラム内で扱えるようになります。ファイルが存在しない場合やアクセス権限がないなど、処理に失敗した場合はfalseを返します。基本構文fileatime ( file_path );パラメータfile_path − 最終アクセス日時を調べたいファイルへのパスを指定します。相対パスでも絶対パスでも指定可能です。戻り値ファイルの最終アクセス時刻をUNIXタイムスタンプ(1970年1月1日