ホームページ > バックエンド開発 > PHPチュートリアル > PHP ZipArchive は圧縮パッケージ内のファイルの日付と時刻をどのように変更しますか?

PHP ZipArchive は圧縮パッケージ内のファイルの日付と時刻をどのように変更しますか?

WBOY
リリース: 2023-07-21 16:14:02
オリジナル
1874 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート