PHP ZipArchive は圧縮パッケージ内のファイルの日付と時刻をどのように変更しますか?
概要:
開発中、圧縮パッケージ (zip ファイル) 内のファイルの日付と時刻を変更する必要がある場合があります。 PHP には、圧縮パッケージを操作するための ZipArchive クラスが用意されており、このクラスを使用して、圧縮パッケージ内のファイルの日付と時刻を変更できます。以下では、PHP の ZipArchive クラスを使用してこの関数を実装する方法と、対応するコード例を紹介します。
コード例:
まず、ZipArchive オブジェクトを作成し、変更する圧縮パッケージを開く必要があります。コードは次のとおりです。
$zip = new ZipArchive; $zip_file = 'path_to_zip_file.zip'; if ($zip->open($zip_file) === TRUE) { // 打开压缩包成功 } else { // 打开压缩包失败 exit('Unable to open the zip file.'); }
次に、圧縮パッケージ内のファイルを調べて、ファイルの日付と時刻を 1 つずつ変更する必要があります。コードは次のとおりです。
for ($i=0; $i < $zip->numFiles; $i++) { $file_name = $zip->getNameIndex($i); $file_datetime = '2022-01-01 00:00:00'; // 修改后的日期时间 // 获取文件在压缩包中的索引 $index = $zip->getindex($file_name); // 修改文件的日期时间 $zip->setModificationTime($index, strtotime($file_datetime)); }
最後に、変更した圧縮パッケージを保存して閉じる必要があります。コードは次のとおりです。
$zip->close(); echo '压缩包中文件的日期时间已成功修改。';
注:
$file_datetime
は文字列形式の日付と時刻です。実際の状況に応じて変更することができます。 $zip->setModificationTime()
を呼び出すときは、日付と時刻をタイムスタンプ形式に変換する必要があります。これは、strtotime()
関数を通じて実装されます。 。 setModificationTime()
メソッドを使用してファイルの日付と時刻を変更する前に、getNameIndex()
を通じてファイルの名前を取得していることを確認してください。メソッドと getindex ()
メソッドは、圧縮パッケージ内のファイルのインデックスを取得します。 概要:
PHP の ZipArchive クラスを使用すると、圧縮パッケージ内のファイルの日付と時刻を簡単に変更できます。必要なのは、ZipArchive オブジェクトを作成し、変更するアーカイブを開いて、ファイルを走査して日付と時刻を 1 つずつ変更し、最後にアーカイブを保存して閉じることだけです。実際の開発において、圧縮パッケージ内のファイルの日付と時刻を変更する必要がある場合に、上記のコード例が役立つことを願っています。
以上がPHP ZipArchive は圧縮パッケージ内のファイルの日付と時刻をどのように変更しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。