PHP プログラマにとって、ファイルを開いて変更時刻を変更する方法を知っておくと非常に役立ちます。ファイルのバージョン管理、バックアップ、データ分析などの特定のシナリオでは、さらなる処理のためにファイルの変更時間を操作する必要がある場合があります。この記事では、PHP を使用して Linux および Windows オペレーティング システムでファイルを開いて変更時刻を変更する方法を説明します。
PHP では、ファイルの stat() 関数を通じて、作成時間、変更時間、およびファイルの関連情報を取得できます。アクセス時間等stat() 関数を使用してファイル情報を取得する場合、ファイル パスを関数のパラメーターとして渡す必要があります。以下はサンプル コードです。
$file_path = '/home/user/test.txt'; $file_info = stat($file_path); $modify_time = $file_info['mtime']; echo 'The file '.$file_path.' was last modified on: '.date('Y-m-d H:i:s', $modify_time);
上記のサンプル コードでは、まず、ターゲット ファイルのパスを指定する $file_path 変数を定義します。次に、stat() 関数を呼び出してファイルに関する情報を取得し、$file_info 配列に保存します。 $file_info 配列の「mtime」キーを使用して、ファイルの変更時刻にアクセスできます。最後に、PHP の組み込み date() 関数を使用して、変更時刻を読み取り可能な日時形式に変換して出力します。
ファイルの変更時刻を変更することは、ファイルを開いたときの変更時刻と同様です。統計情報も使用する必要があります。 ()関数でファイル情報を取得すると、ファイルの更新時刻が修正されます。ただし、ファイルのタイムスタンプを変更する前に、ファイルを変更するための十分な権限が PHP にあることを確認する必要があります。そうしないと、エラーが発生する可能性があります。
Linux オペレーティング システムのファイルの場合、PHP の touch() 関数を使用してタイムスタンプを変更できます。 touch() 関数は、ファイルのアクセス時間と変更時間を変更できます。その構文は次のとおりです:
touch($file_path, $timestamp);
上記のコードでは、$file_path はターゲット ファイルのパスを表し、$timestamp はターゲット ファイルのパスを表しますUnix タイムスタンプ。ファイルの最終変更時刻とアクセス時刻を更新するために使用されます。以下はサンプル コードです:
$file_path = '/home/user/test.txt'; $timestamp = strtotime('2021-10-01 00:00:00'); if (touch($file_path, $timestamp)) { echo 'The file '.$file_path.' was successfully modified!'; } else { echo 'An error occurred while attempting to modify file '.$file_path; }
上記のコードでは、最初にファイル パスとタイムスタンプ値を定義し、次に touch() 関数を使用してファイルのアクセス時間と変更時間を変更します。最後に、条件ステートメントを使用して、ファイルが正常に変更されたかどうかが判断されます。
Windows オペレーティング システムのファイルの場合、ファイルの変更時刻を変更するには、COM オブジェクトを使用する必要があります。以下はサンプル コードです。
$file_path = 'C:\Users\User\test.txt'; $timestamp = '2021-10-01 00:00:00'; if (class_exists('COM')) { $shell = new COM('Shell.Application'); $folder = $shell->NameSpace(dirname($file_path)); $file = $folder->ParseName(basename($file_path)); $file->ModifyDate = $timestamp; echo 'The file '.$file_path.' was successfully modified!'; } else { echo 'The COM object is not available!'; }
上記のコードでは、最初にファイル パスとタイムスタンプの値を定義し、次に class_exists() 関数を使用して COM オブジェクトが存在するかどうかを確認します。 COM オブジェクトが存在する場合、Shell.Application オブジェクトと NameSpace オブジェクトを使用してフォルダー情報をロードし、$folder->ParseName() メソッドを使用してファイル情報をロードできます。最後に、$file->ModifyDate プロパティを使用してファイルの日付と時刻を変更します。最後に、条件ステートメントを使用して、変更が正常に実行されたかどうかを確認します。
概要
PHP でファイルを開いて変更時刻を変更すると、ファイルのバージョン管理、データ分析、バックアップ操作を実行するのに役立ちます。 Linux では、touch() 関数を使用してファイルのタイムスタンプを簡単に変更できます。 Windows では、ファイルの日付と時刻を変更するには COM オブジェクトを使用する必要があります。ただし、どのオペレーティング システムを使用している場合でも、ファイルの変更時刻を操作するには、PHP に十分な権限があることを確認する必要があることに注意してください。
以上がPHPで修正時刻を開く方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。