圧縮ファイルを使用するとディスク容量を節約でき、圧縮ファイルはサイズが小さく、ネットワーク送信に便利で効率が高くなります。この記事ではPHPを使ってzip圧縮ファイルを作成する方法をご紹介しますので、ご参考になれば幸いです。
PHP には、zip ファイルを簡単に作成するために使用できる ZipArchive クラスがあります。以下は、PHP で zip ファイルを作成する方法の例です。 [ビデオチュートリアルの推奨: PHP チュートリアル]
新しい zip ファイルの作成
次のコードは、新しい zip ファイルを作成します。 zip ファイル (test_new.zip) を作成し、それにいくつかのファイルを追加します。
<?php $zip = new ZipArchive; if ($zip->open('test_new.zip', ZipArchive::CREATE) === TRUE) { // 将文件添加到zip文件 $zip->addFile('test.txt'); $zip->addFile('test.pdf'); // 将random.txt文件添加到zip并将其重命名为newfile.txt $zip->addFile('random.txt', 'newfile.txt'); // 将有指定文本的new.txt文件添加到zip文件中 $zip->addFromString('new.txt', '要添加到new.txt文件中的文本'); // 关闭zip文件 $zip->close(); } ?>
コードの説明:
行 2: ZipArchive クラスのオブジェクトの作成
行 3: 使用test_new.zip というファイルを作成して開き、ファイルを追加できるようにします。フラグ ZipArchive::CREATE は、新しい zip ファイルを作成することを指定します。
行 6 と 7: zip ファイルにファイルを追加するために使用されます。
行 10:random.txt という名前のファイルを zip ファイルに追加し、zip ファイル内でその名前を newfile.txt に変更するために使用されます。
13行目: 新しいファイルnew.txtの追加に使用されます。ファイルの内容は「new.txtファイルに追加するテキスト」です。
行 16: zip ファイルを閉じて変更を保存します。
注: ファイルへの相対パスを使用すると、問題が発生することがあります。パスの使用に問題がある場合は、ファイルの絶対パスを使用することもできます。
既存の zip ファイルを上書きします。
If既存の zip ファイルを上書きしたい場合 zip ファイルの場合は、次のようなコードを使用できます。フラグ ZipArchive::OVERWRITE は、既存の zip ファイルを上書きすることを指定します。
<?php $zip = new ZipArchive; if ($zip->open('test_overwrite.zip', ZipArchive::OVERWRITE) === TRUE) { // 将文件添加到zip文件 $zip->addFile('test.txt'); $zip->addFile('test.pdf'); // 关闭zip文件 $zip->close(); } ?>
コードの説明
このコードはファイル test_overwrite.zip を作成します。ファイルがすでに存在する場合、ファイルはこの新しいファイルによって上書きされます。
新しい zip ファイルを作成し、指定したフォルダーにファイルを追加します
<?php $zip = new ZipArchive; if ($zip->open('test_folder.zip', ZipArchive::CREATE) === TRUE) { // 将文件添加到zip文件中的demo_folder文件夹内 $zip->addFile('text.txt', 'demo_folder/test.txt'); $zip->addFile('test.pdf', 'demo_folder/test.pdf'); // 将random.txt文件添加到zip文件中的demo_folder文件夹内,并重命名为newfile.txt $zip->addFile('random.txt', 'demo_folder/newfile.txt'); // 将有指定内容的new.txt添加到zip文件中的demo_folder文件夹 $zip->addFromString('demo_folder/new.txt', '要添加到new.txt文件中的文本'); // 关闭zip文件 $zip->close(); } ?>
Code説明
上記のコードは、zip ファイル内のさまざまなファイルを demo_folder フォルダーに追加します。
addfile 関数の 2 番目のパラメーターを使用して、ファイルを新しいファイル フォルダーに保存できます。
addFromString 関数の最初のパラメーターは、ファイルを新しいフォルダーに保存するために使用できます。
新しい zip ファイルを作成し、そのファイルを別のフォルダーに追加します。フォルダー##
<?php $zip = new ZipArchive; if ($zip->open('test_folder_change.zip', ZipArchive::CREATE) === TRUE) { // 将文件添加到zip文件 $zip->addFile('text.txt', 'demo_folder/test.txt'); $zip->addFile('test.pdf', 'demo_folder1/test.pdf'); // 关闭zip文件 $zip->close(); } ?>コードの説明
zip ファイル内の test.txt ファイルを [demo_folder] フォルダーに保存し、test.pdf ファイルを [demo_folder1] フォルダーに保存します。
すべてのファイルを含む zip ファイルを作成します。ディレクトリ <?php
$zip = new ZipArchive;
if ($zip->open('test_dir.zip', ZipArchive::OVERWRITE) === TRUE)
{
if ($handle = opendir('demo_folder'))
{
// 添加目录中的所有文件
while (false !== ($entry = readdir($handle)))
{
if ($entry != "." && $entry != ".." && !is_dir('demo_folder/' . $entry))
{
$zip->addFile('demo_folder/' . $entry);
}
}
closedir($handle);
}
$zip->close();
}
?>
第 5 章 - 16 行目: ディレクトリを開いて zip を作成します。ディレクトリ内のすべてのファイルを含むファイル
# 5 行目: ディレクトリを開きます
8 行目: ディレクトリ内の各ファイルの名前を取得します
10 行目: 「」をスキップします。 " と ".." およびその他のディレクトリ
12 行目: zip ファイルにファイルを追加
15 行目: ディレクトリを閉じる
#18 行目: zip ファイルを閉じる 複数のディレクトリのすべてのファイルを含む zip ファイルを作成します次のコードは、これらのディレクトリ内のさまざまなフォルダーとファイルを zip ファイルに追加します
<?php $zip = new ZipArchive; if ($zip->open('test_files_dirs.zip', ZipArchive::OVERWRITE) === TRUE) { // 添加 directory1 if ($handle = opendir('demo_folder/directory1/')) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $zip->addFile('demo_folder/directory1/' . $entry); } } closedir($handle); } // 添加 directory2 if ($handle = opendir('demo_folder/directory2/')) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $zip->addFile('demo_folder/directory2/' . $entry); } } closedir($handle); } // 添加 directory3 if ($handle = opendir('demo_folder/directory3/')) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $zip->addFile('demo_folder/directory3/' . $entry); } } closedir($handle); } $zip->close(); } ?>
##コードの説明
行 6 ~ 42: ディレクトリ directory1、directory2、および directory3 内のすべてのファイルを、ディレクトリ内の zip ファイル内の対応するファイルに追加します。 以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !
以上がPHPを使用してzipファイルを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。