{"id":655,"date":"2025-06-11T12:07:28","date_gmt":"2025-06-11T04:07:28","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/xtywj\/655.html"},"modified":"2025-06-11T12:07:28","modified_gmt":"2025-06-11T04:07:28","slug":"php%ef%bc%9a%e5%a6%82%e4%bd%95%e5%8e%8b%e7%bc%a9-%e8%a7%a3%e5%8e%8b%e6%96%87%e4%bb%b6","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/655.html","title":{"rendered":"PHP\uff1a\u5982\u4f55\u538b\u7f29\/\u89e3\u538b\u6587\u4ef6"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312; PHP &#20013;&#65292;&#21487;&#20197;&#20351;&#29992; <code>gzcompress<\/code> &#21644; <code>gzuncompress<\/code> &#20989;&#25968;&#26469;&#21387;&#32553;&#21644;&#35299;&#21387;&#25991;&#20214;&#12290;&#20197;&#19979;&#26159;&#19968;&#20123;&#31034;&#20363;&#20195;&#30721;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#23454;&#29616;&#36825;&#20123;&#21151;&#33021;&#12290;<\/p>\n<h3>&#21387;&#32553;&#25991;&#20214;<\/h3>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ &#35201;&#21387;&#32553;&#30340;&#25991;&#20214;&#36335;&#24452;\n$sourceFile = 'example.txt';\n\n\/\/ &#36755;&#20986;&#30340;&#21387;&#32553;&#25991;&#20214;&#36335;&#24452;\n$outputFile = 'example.txt.gz';\n\n\/\/ &#25171;&#24320;&#28304;&#25991;&#20214;&#20197;&#35835;&#21462;\n$fileHandle = fopen($sourceFile, 'rb');\n\nif ($fileHandle === false) {\n    die('&#26080;&#27861;&#25171;&#24320;&#28304;&#25991;&#20214;');\n}\n\n\/\/ &#33719;&#21462;&#28304;&#25991;&#20214;&#30340;&#22823;&#23567;\n$fileSize = filesize($sourceFile);\n\n\/\/ &#21019;&#24314;&#36755;&#20986;&#25991;&#20214;&#20197;&#20889;&#20837;\n$outputFileHandle = fopen($outputFile, 'wb');\n\nif ($outputFileHandle === false) {\n    fclose($fileHandle);\n    die('&#26080;&#27861;&#21019;&#24314;&#36755;&#20986;&#25991;&#20214;');\n}\n\n\/\/ &#20351;&#29992; gzcompress &#20989;&#25968;&#36827;&#34892;&#21387;&#32553;\n$compressedData = gzcompress(file_get_contents($sourceFile), 9);\n\n\/\/ &#23558;&#21387;&#32553;&#25968;&#25454;&#20889;&#20837;&#36755;&#20986;&#25991;&#20214;\nfwrite($outputFileHandle, $compressedData);\n\n\/\/ &#20851;&#38381;&#25991;&#20214;&#21477;&#26564;\nfclose($fileHandle);\nfclose($outputFileHandle);\n\necho \"&#25991;&#20214;&#24050;&#25104;&#21151;&#21387;&#32553;&#20026; $outputFile\";\n?&gt;<\/code><\/pre>\n<h3>&#35299;&#21387;&#25991;&#20214;<\/h3>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ &#35201;&#35299;&#21387;&#30340;&#25991;&#20214;&#36335;&#24452;\n$inputFile = 'example.txt.gz';\n\n\/\/ &#36755;&#20986;&#30340;&#35299;&#21387;&#25991;&#20214;&#36335;&#24452;\n$outputFile = 'example_decrypted.txt';\n\n\/\/ &#25171;&#24320;&#36755;&#20837;&#25991;&#20214;&#20197;&#35835;&#21462;\n$fileHandle = fopen($inputFile, 'rb');\n\nif ($fileHandle === false) {\n    die('&#26080;&#27861;&#25171;&#24320;&#36755;&#20837;&#25991;&#20214;');\n}\n\n\/\/ &#33719;&#21462;&#36755;&#20837;&#25991;&#20214;&#30340;&#22823;&#23567;\n$fileSize = filesize($inputFile);\n\n\/\/ &#21019;&#24314;&#36755;&#20986;&#25991;&#20214;&#20197;&#20889;&#20837;\n$outputFileHandle = fopen($outputFile, 'wb');\n\nif ($outputFileHandle === false) {\n    fclose($fileHandle);\n    die('&#26080;&#27861;&#21019;&#24314;&#36755;&#20986;&#25991;&#20214;');\n}\n\n\/\/ &#20351;&#29992; gzuncompress &#20989;&#25968;&#36827;&#34892;&#35299;&#21387;&#32553;\n$decompressedData = gzuncompress(fread($fileHandle, $fileSize));\n\n\/\/ &#23558;&#35299;&#21387;&#32553;&#25968;&#25454;&#20889;&#20837;&#36755;&#20986;&#25991;&#20214;\nfwrite($outputFileHandle, $decompressedData);\n\n\/\/ &#20851;&#38381;&#25991;&#20214;&#21477;&#26564;\nfclose($fileHandle);\nfclose($outputFileHandle);\n\necho \"&#25991;&#20214;&#24050;&#25104;&#21151;&#35299;&#21387;&#20026; $outputFile\";\n?&gt;<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;&#35299;&#37322;<\/h3>\n<ol>\n<li>\n<p><strong>&#21387;&#32553;&#25991;&#20214;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#25171;&#24320;&#28304;&#25991;&#20214;&#24182;&#35835;&#21462;&#20854;&#20869;&#23481;&#12290;<\/li>\n<li>&#20351;&#29992; <code>gzcompress<\/code> &#20989;&#25968;&#23545;&#25991;&#20214;&#20869;&#23481;&#36827;&#34892;&#21387;&#32553;&#65292;&#24182;&#25351;&#23450;&#21387;&#32553;&#32423;&#21035;&#65288;&#20363;&#22914;&#65292;9 &#34920;&#31034;&#26368;&#39640;&#36136;&#37327;&#65289;&#12290;<\/li>\n<li>&#23558;&#21387;&#32553;&#21518;&#30340;&#25968;&#25454;&#20889;&#20837;&#36755;&#20986;&#25991;&#20214;&#12290;<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>&#35299;&#21387;&#25991;&#20214;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#25171;&#24320;&#36755;&#20837;&#25991;&#20214;&#24182;&#35835;&#21462;&#20854;&#20869;&#23481;&#12290;<\/li>\n<li>&#20351;&#29992; <code>gzuncompress<\/code> &#20989;&#25968;&#23545;&#25991;&#20214;&#20869;&#23481;&#36827;&#34892;&#35299;&#21387;&#32553;&#12290;<\/li>\n<li>&#23558;&#35299;&#21387;&#32553;&#21518;&#30340;&#25968;&#25454;&#20889;&#20837;&#36755;&#20986;&#25991;&#20214;&#12290;<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>&#36890;&#36807;&#36825;&#20123;&#31034;&#20363;&#20195;&#30721;&#65292;&#20320;&#21487;&#20197;&#36731;&#26494;&#22320;&#22312; PHP &#20013;&#21387;&#32553;&#21644;&#35299;&#21387;&#25991;&#20214;&#12290;&#24076;&#26395;&#36825;&#23545;&#20320;&#26377;&#24110;&#21161;&#65281;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h2>&#27010;&#36848;<\/h2><p>PHP&#20316;&#20026;&#19968;&#31181;&#22810;&#21151;&#33021;&#30340;&#33050;&#26412;&#35821;&#35328;&#65292;&#25552;&#20379;&#20102;&#22788;&#29702;&#25991;&#20214;&#21387;&#32553;&#21644;&#35299;&#21387;&#32553;&#25805;&#20316;&#30340;&#24378;&#22823;&#21151;&#33021;&#12290;&#23558;&#25991;&#20214;&#21387;&#32553;&#20026;.zip&#26684;&#24335;&#19981;&#20165;&#21487;&#20197;&#33410;&#30465;&#31354;&#38388;&#65292;&#36824;&#33021;&#26356;&#23481;&#26131;&#22320;&#20256;&#36755;&#21644;&#20998;&#21457;&#22810;&#20010;&#25991;&#20214;&#12290;&#21516;&#26679;&#65292;&#33021;&#22815;&#35299;&#21387;&#25110;&#35299;&#21387;&#32553;&#25991;&#20214;&#23545;&#20110;&#35775;&#38382;&#21387;&#32553;&#26723;&#26696;&#20013;&#30340;&#20869;&#23481;&#33267;&#20851;&#37325;&#35201;&#12290;&#26412;&#25991;&#26723;&#28085;&#30422;&#20102;&#22312;PHP&#20013;&#22788;&#29702;zip&#26723;&#26696;&#30340;&#22522;&#26412;&#35201;&#32032;&#65292;&#20174;&#21019;&#24314;&#21644;&#25552;&#21462;zip&#25991;&#20214;&#30340;&#22522;&#30784;&#30693;&#35782;&#21040;&#26356;&#39640;&#32423;&#20027;&#39064;&#65292;&#22914;&#31649;&#29702;&#25991;&#20214;&#27969;&#12290;<\/p><p>&#22312;&#24320;&#22987;&#32534;&#30721;&#20043;&#21069;&#65292;&#35831;&#30830;&#20445;&#24744;&#24050;&#32463;&#23433;&#35013;&#20102;PHP&#24182;&#19988;&#29615;&#22659;&#20013;&#26377;ZipArchive&#31867;&#21487;&#29992;&#12290;ZipArchive&#31867;&#24182;&#38750;&#25152;&#26377;PHP&#23433;&#35013;&#20013;&#37117;&#40664;&#35748;&#21551;&#29992;&#12290;&#24744;&#21487;&#33021;&#38656;&#35201;&#23433;&#35013;php-zip&#25193;&#23637;&#25110;&#22312;&#24744;&#30340;php.ini&#37197;&#32622;&#25991;&#20214;&#20013;&#27880;&#37322;&#30456;&#24212;&#30340;&#34892;&#12290;<\/p><h2>&#21019;&#24314;&#19968;&#20010;&#21387;&#32553;&#25991;&#20214;<\/h2><p>&#35201;&#21019;&#24314;&#19968;&#20010;&#21387;&#32553;&#25991;&#20214;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; ZipArchive &#31867;&#12290;&#20197;&#19979;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340; PHP &#33050;&#26412;&#26469;&#21387;&#32553;&#21333;&#20010;&#25991;&#20214;&#65306;<\/p><pre><code>&lt;?php\n$zip = new ZipArchive();\n$filename = '.\/my-archive.zip';\n\nif ($zip-&gt;open($filename, ZipArchive::CREATE) === TRUE) {\n    $zip-&gt;addFile('path\/to\/file-to-zip.txt', 'file-to-zip.txt');\n    $zip-&gt;close();\n    echo 'Archive created!';\n} else {\n    echo 'Failed to create archive.';\n}\n?&gt;<\/code><\/pre><p>&#36825;&#20010;&#26041;&#27861;&#20250;&#25171;&#24320;&#19968;&#20010;&#26032;&#30340;&#21387;&#32553;&#25991;&#20214;&#65292;&#28982;&#21518;&#21521;&#20854;&#20013;&#28155;&#21152;&#19968;&#20010;&#21333;&#29420;&#30340;&#25991;&#20214;&#12290;addFile &#26041;&#27861;&#26377;&#20004;&#20010;&#21442;&#25968;&#65306;&#19968;&#20010;&#26159;&#30828;&#30424;&#19978;&#30340;&#25991;&#20214;&#36335;&#24452;&#65292;&#21478;&#19968;&#20010;&#26159;&#29992;&#26469;&#22312;&#21387;&#32553;&#26723;&#26696;&#20869;&#37096;&#20351;&#29992;&#30340;&#25991;&#20214;&#21517;&#12290;<\/p><h2>&#28155;&#21152;&#22810;&#20010;&#25991;&#20214;&#21040;&#19968;&#20010;&#21387;&#32553;&#21253;&#20013;<\/h2><p>&#20197;&#19979;&#26159;&#22914;&#20309;&#28155;&#21152;&#22810;&#20010;&#25991;&#20214;&#21040;&#21387;&#32553;&#21253;&#30340;&#27493;&#39588;&#65306;<\/p><pre><code>&lt;?php\n$files_to_zip = array(\n    'path\/to\/first\/file.txt',\n    'path\/to\/second\/file.jpg',\n    \/\/ more files\n);\n$zip = new ZipArchive();\n$filename = '.\/my-archive.zip';\n\nif ($zip-&gt;open($filename, ZipArchive::CREATE) === TRUE) {\n    foreach ($files_to_zip as $file) {\n        $zip-&gt;addFile($file, basename($file));\n    }\n    $zip-&gt;close();\n    echo 'Archive created with multiple files!';\n} else {\n    echo 'Failed to create archive.';\n}\n?&gt;<\/code><\/pre><p>basename &#20989;&#25968;&#29992;&#20110;&#20174;&#25552;&#20379;&#30340;&#36335;&#24452;&#20013;&#25552;&#21462;&#25991;&#20214;&#21517;&#65292;&#30830;&#20445;&#22312;&#21387;&#32553;&#21253;&#20013;&#19981;&#20445;&#30041;&#30446;&#24405;&#32467;&#26500;&#12290;<\/p><h2>&#28155;&#21152;&#30446;&#24405;&#21040;&#21387;&#32553;&#21253;<\/h2><p>&#21387;&#32553;&#19968;&#20010;&#30446;&#24405;&#38656;&#35201;&#36941;&#21382;&#20854;&#20013;&#30340;&#25152;&#26377;&#25991;&#20214;&#65292;&#21253;&#25324;&#23376;&#30446;&#24405;&#12290;&#20197;&#19979;&#26159;&#36882;&#24402;&#30340;&#26041;&#27861;&#26469;&#28155;&#21152;&#19968;&#20010;&#30446;&#24405;&#65306;<\/p><pre><code>&lt;?php\nfunction addFolderToZip($dir, $zipArchive, $zipdir = ''){\n    if (is_dir($dir)) {\n        if ($dh = opendir($dir)) {\n            if (!empty($zipdir)) $zipArchive-&gt;addEmptyDir($zipdir);\n            while (($file = readdir($dh)) !== false) {\n                \/\/ Skip parent and root directories\n                if($file != '.' &amp;&amp; $file != '..'){\n                    if (is_file($dir . $file)) {\n                        $zipArchive-&gt;addFile($dir . $file, $zipdir . $file);\n                    } elseif (is_dir($dir . $file)) {\n                        addFolderToZip($dir . $file . '\/', $zipArchive, $zipdir . $file . '\/');\n                    }\n                }\n            }\n        }\n    }\n}\n\n$zip = new ZipArchive();\n$filename = '.\/my-directory.zip';\n\nif ($zip-&gt;open($filename, ZipArchive::CREATE) === TRUE) {\n    addFolderToZip('.\/path\/to\/directory\/', $zip);\n    $zip-&gt;close();\n    echo 'Directory zipped!';\n} else {\n    echo 'Failed to zip directory.';\n}\n?&gt;<\/code><\/pre><p>addFolderToZip &#20989;&#25968;&#23553;&#35013;&#20102;&#21521;&#21387;&#32553;&#25991;&#20214;&#28155;&#21152;&#30446;&#24405;&#65288;&#21253;&#25324;&#20854;&#20869;&#23481;&#65289;&#30340;&#36923;&#36753;&#12290;<\/p><h2>&#35299;&#21387;&#21387;&#32553;&#25991;&#20214;<\/h2><p>&#35201;&#20351;&#29992;PHP&#20174;ZIP&#25991;&#20214;&#20013;&#25552;&#21462;&#20869;&#23481;&#65292;&#36807;&#31243;&#38750;&#24120;&#31616;&#21333;&#65292;&#23601;&#20687;&#21019;&#24314;&#23427;&#19968;&#26679;&#12290;&#20197;&#19979;&#33050;&#26412;&#20250;&#23558;&#26723;&#26696;&#23548;&#20986;&#21040;&#25351;&#23450;&#30446;&#24405;&#65306;<\/p><pre><code>&lt;?php\n$zip = new ZipArchive();\n$filename = '.\/my-archive.zip';\n\nif ($zip-&gt;open($filename) === TRUE) {\n    $zip-&gt;extractTo('.\/extracted-files\/');\n    $zip-&gt;close();\n    echo 'Archive extracted!';\n} else {\n    echo 'Failed to extract archive.';\n}\n?&gt;<\/code><\/pre><p>&#20989;&#25968; extractTo &#25509;&#21463;&#35201;&#25552;&#21462;&#24402;&#26723;&#25991;&#20214;&#20869;&#23481;&#30340;&#30446;&#24405;&#36335;&#24452;&#12290;&#30830;&#20445;&#35813;&#30446;&#24405;&#23384;&#22312;&#19988;&#21487;&#20889;&#20837;&#12290;<\/p><h2>&#39640;&#32423;ZIP&#21151;&#33021;&#29305;&#24615;<\/h2><p>&#31867;&#36824;&#25552;&#20379;&#20102;&#26356;&#22810;&#30340;&#39640;&#32423;&#21151;&#33021;&#65292;&#20363;&#22914;&#35774;&#32622;&#21152;&#23494;&#26723;&#26696;&#30340;&#23494;&#30721;&#12289;&#35835;&#21462;&#25991;&#20214;&#27880;&#37322;&#20197;&#21450;&#20462;&#25913;&#29616;&#26377;&#26723;&#26696;&#12290;&#28145;&#20837;&#36825;&#20123;&#21151;&#33021;&#38656;&#35201;&#39069;&#22806;&#30340;&#20195;&#30721;&#12290;<\/p><p>&#20197;&#19979;&#26159;&#28436;&#31034;&#20102;&#19968;&#20123;&#39640;&#32423;&#21151;&#33021;&#30340;&#31034;&#20363;&#65306;<\/p><p>&#20462;&#25913;&#29616;&#26377;&#24402;&#26723;&#65306;&#20174;&#29616;&#26377;ZIP&#24402;&#26723;&#25991;&#20214;&#20013;&#28155;&#21152;&#21644;&#21024;&#38500;&#25991;&#20214;&#12290;<\/p><p>&#35835;&#21462;&#25991;&#20214;&#27880;&#37322;&#65306;&#35775;&#38382;ZIP&#26723;&#26696;&#20013;&#30340;&#25991;&#20214;&#28155;&#21152;&#30340;&#27880;&#37322;&#12290;<\/p><p>&#21019;&#24314;&#21152;&#23494;&#30340;ZIP&#24402;&#26723;&#25991;&#20214;&#65306;&#36825;&#38656;&#35201;PHP 7.2&#25110;&#26356;&#39640;&#29256;&#26412;&#65292;&#22240;&#20026;ZIP&#26723;&#26696;&#23494;&#30721;&#21152;&#23494;&#26159;&#20174;&#36825;&#20010;&#29256;&#26412;&#24341;&#20837;&#30340;&#12290;<\/p><p>&#20197;&#19979;&#26159;&#20351;&#29992;PHP&#23454;&#29616;&#36825;&#20123;&#21151;&#33021;&#30340;&#20195;&#30721;&#29255;&#27573;&#65306;<\/p><pre><code>&lt;?php\n$zip = new ZipArchive();\n\n\/\/ Creating a new ZIP file\n$zipFileName = 'example.zip';\nif ($zip-&gt;open($zipFileName, ZipArchive::CREATE) === TRUE) {\n    \/\/ Add a file to the ZIP file\n    $zip-&gt;addFromString('test.txt', 'This is a test file content');\n\n    \/\/ Setting a password for the ZIP file (requires PHP 7.2+)\n    $zip-&gt;setPassword('your_secure_password');\n\n    \/\/ Closing the ZIP file\n    $zip-&gt;close();\n    echo \"ZIP file created.n\";\n} else {\n    echo \"Failed to create ZIP file.n\";\n}\n\n\/\/ Opening an existing ZIP file\nif ($zip-&gt;open($zipFileName) === TRUE) {\n    \/\/ Reading comments (if any)\n    for ($i = 0; $i &lt; $zip-&gt;numFiles; $i++) {\n        $filename = $zip-&gt;getNameIndex($i);\n        $comment = $zip-&gt;getCommentName($filename);\n        echo \"File: $filename, Comment: $commentn\";\n    }\n\n    \/\/ Adding a new file to the existing ZIP archive\n    if ($zip-&gt;addFromString('newfile.txt', 'Content for new file')) {\n        echo \"File 'newfile.txt' added.n\";\n    }\n\n    \/\/ Deleting a file from the ZIP archive\n    if ($zip-&gt;deleteName('test.txt')) {\n        echo \"File 'test.txt' deleted.n\";\n    }\n\n    $zip-&gt;close();\n} else {\n    echo \"Failed to open ZIP file.n\";\n}\n?&gt;<\/code><\/pre><p>&#36825;&#20010;&#21095;&#26412;&#65306;<\/p><p>&#25171;&#24320;&#29616;&#26377;&#30340;&#21387;&#32553;&#25991;&#20214;&#65292;&#35835;&#21462;&#27599;&#20010;&#25991;&#20214;&#30340;&#27880;&#37322;&#65288;&#22914;&#26524;&#26377;&#65289;&#65292;&#28155;&#21152;&#19968;&#20010;&#26032;&#30340;&#25991;&#20214;&#65292;&#24182;&#21024;&#38500;&#19968;&#20010;&#29616;&#26377;&#25991;&#20214;&#12290;<\/p><p>&#35774;&#32622;ZIP&#26723;&#26696;&#30340;&#23494;&#30721;&#12290;&#35831;&#27880;&#24847;&#65292;&#27492;&#21151;&#33021;&#38656;&#35201;PHP 7.2&#25110;&#26356;&#39640;&#29256;&#26412;&#12290;<\/p><p>&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#21517;&#20026;&#30340;ZIP&#25991;&#20214;&#12290;<code>example.zip<\/code>&#20182;&#28155;&#21152;&#20102;&#19968;&#20010;&#25991;&#20214;&#12290;<code>test.txt<\/code>&#22909;&#30340;&#65292;&#25105;&#26126;&#30333;&#20102;&#12290;<\/p><p>&#37325;&#35201;&#25552;&#31034;&#65306;<\/p><p>&#30830;&#20445;&#22312;&#29983;&#20135;&#29615;&#22659;&#20013;&#22788;&#29702;&#38169;&#35823;&#21644;&#24322;&#24120;&#65292;&#20197;&#25552;&#39640;&#31995;&#32479;&#20581;&#22766;&#24615;&#12290;<\/p><p>&#22312;&#37096;&#32626;&#21040;&#29983;&#20135;&#29615;&#22659;&#20043;&#21069;&#65292;&#21153;&#24517;&#22312;&#23433;&#20840;&#21487;&#25511;&#30340;&#29615;&#22659;&#20013;&#23545;ZIP&#21151;&#33021;&#36827;&#34892;&#27979;&#35797;&#12290;<\/p><p>&#25991;&#20214;&#22841;&#20869;&#30340;&#25991;&#20214;&#21517;&#31216;&#19981;&#20250;&#34987;&#21152;&#23494;&#65292;&#21482;&#26377;&#25991;&#20214;&#20869;&#23481;&#20250;&#34987;&#21152;&#23494;&#12290;<\/p><p>PHP&#30340;Zip&#25193;&#23637;&#24517;&#39035;&#23433;&#35013;&#24182;&#21551;&#29992;&#25165;&#33021;&#20351;&#29992;&#12290;<code>ZipArchive<\/code>&#25265;&#27465;&#65292;&#25105;&#19981;&#22826;&#26126;&#30333;&#24744;&#30340;&#24847;&#24605;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#26080;&#35770;&#26159;&#26500;&#24314;&#20869;&#23481;&#31649;&#29702;&#31995;&#32479;&#12289;&#22791;&#20221;&#24037;&#20855;&#36824;&#26159;&#25209;&#37327;&#25991;&#20214;&#19979;&#36733;&#22120;&#65292;&#20102;&#35299;&#22914;&#20309;&#22788;&#29702;zip&#25805;&#20316;&#22312;PHP&#20013;&#30340;&#20351;&#29992;&#26159;&#38750;&#24120;&#37325;&#35201;&#30340;&#12290;&#36890;&#36807;&#21033;&#29992;PHP&#30340;ZipArchive&#31867;&#65292;&#24744;&#21487;&#20197;&#36731;&#26494;&#22320;&#23558;&#20854;&#38598;&#25104;&#21040;&#24744;&#30340;&#24212;&#29992;&#31243;&#24207;&#20013;&#65292;&#20026;&#29992;&#25143;&#25552;&#20379;&#26356;&#22909;&#30340;&#20307;&#39564;&#65292;&#24182;&#25552;&#20379;&#19968;&#31181;&#39640;&#25928;&#22788;&#29702;&#20195;&#30721;&#20013;&#25991;&#20214;&#30340;&#26041;&#27861;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312;PHP&#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;<code>fread()<\/code>&#21644;<code>fwrite()<\/code>&#20989;&#25968;&#26469;&#35835;&#21462;&#21644;&#20889;&#20837;&#25991;&#20214;&#12290;&#36825;&#20123;&#20989;&#25968;&#20801;&#35768;&#20320;&#22312;&#22788;&#29702;&#25991;&#20214;&#26102;&#36827;&#34892;&#27969;&#24335;&#25968;&#25454;&#20256;&#36755;&#12290;<\/p>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#20102;&#35299;&#19968;&#20123;&#22522;&#26412;&#30340;PHP&#30693;&#35782;&#65306;<\/p>\n<ol>\n<li>PHP&#26159;&#29992;&#20110;Web&#24320;&#21457;&#30340;&#35821;&#35328;&#12290;<\/li>\n<li><code>fopen()<\/code>&#20989;&#25968;&#29992;&#20110;&#25171;&#24320;&#25991;&#20214;&#65292;<code>fclose()<\/code>&#29992;&#20110;&#20851;&#38381;&#25991;&#20214;&#12290;<\/li>\n<li><code>fread()<\/code>&#21644;<code>fwrite()<\/code>&#20989;&#25968;&#20801;&#35768;&#22312;&#25991;&#20214;&#19978;&#36827;&#34892;&#27969;&#24335;&#25968;&#25454;&#20256;&#36755;&#12290;<\/li>\n<\/ol>\n<p>&#20197;&#19979;&#26159;&#22914;&#20309;&#20351;&#29992;&#36825;&#20004;&#20010;&#20989;&#25968;&#26469;&#21387;&#32553;&#21644;&#35299;&#21387;&#32553;&#25991;&#20214;&#30340;&#31034;&#20363;&#65306;<\/p>\n<h3>&#21387;&#32553;&#25991;&#20214;<\/h3>\n<p>&#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010;&#21517;&#20026;<code>example.txt<\/code>&#30340;&#25991;&#26412;&#25991;&#20214;&#65292;&#25105;&#20204;&#38656;&#35201;&#23558;&#20854;&#21387;&#32553;&#20026;<code>.zip<\/code>&#26684;&#24335;&#12290;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ 1. &#25171;&#24320;&#25991;&#20214;\n$handle = fopen(\"example.txt\", \"r\");\n\n\/\/ 2. &#21019;&#24314;ZIP&#25991;&#20214;\n$zip = new ZipArchive();\nif ($zip-&gt;open(\"compressed_example.zip\", ZIPARCHIVE::CREATE) === true) {\n    \/\/ 3. &#20889;&#20837;&#21387;&#32553;&#25991;&#20214;\n    $zip-&gt;addFile($handle, basename(__FILE__));\n\n    \/\/ 4. &#28155;&#21152;&#32467;&#26463;&#26631;&#24535;\n    $zip-&gt;close();\n}<\/code><\/pre>\n<h3>&#35299;&#21387;&#32553;&#25991;&#20214;<\/h3>\n<p>&#22914;&#26524;&#20320;&#38656;&#35201;&#20174;<code>.zip<\/code>&#25991;&#20214;&#35299;&#21387;&#32553;&#21040;<code>.txt<\/code>&#25991;&#20214;&#65292;&#20320;&#21487;&#20197;&#36825;&#26679;&#25805;&#20316;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ 5. &#25171;&#24320;ZIP&#25991;&#20214;\n$zip = new ZipArchive();\nif ($zip-&gt;open(\"compressed_example.zip\") !== false) {\n    while ($file = $zip-&gt;next()) {\n        \/\/ 6. &#25171;&#24320;&#24182;&#35835;&#21462;&#25991;&#20214;\n        $data = $zip-&gt;getFromName($file);\n\n        \/\/ 7. &#23558;&#25968;&#25454;&#20889;&#22238;&#21407;&#25991;&#20214;\n        file_put_contents(\"uncompressed_example.txt\", fread($data, filesize($data)), FILE_APPEND | LOCK_EX);\n    }\n\n    \/\/ 8. &#20851;&#38381;ZIP&#25991;&#20214;\n    $zip-&gt;close();\n}<\/code><\/pre>\n<p>&#20197;&#19978;&#20195;&#30721;&#39318;&#20808;&#25171;&#24320;<code>compressed_example.zip<\/code>&#25991;&#20214;&#65292;&#28982;&#21518;&#36880;&#20010;&#35835;&#21462;&#27599;&#20010;ZipEntry&#65288;&#21363;ZipArchive&#20013;&#30340;&#25991;&#20214;&#65289;&#65292;&#23558;&#23427;&#20204;&#28155;&#21152;&#21040;&#30446;&#26631;&#25991;&#20214;&#20013;&#65292;&#24182;&#30830;&#20445;&#21482;&#22312;&#19981;&#38459;&#22622;&#30340;&#24773;&#20917;&#19979;&#36827;&#34892;&#26356;&#26032;&#65288;&#36890;&#36807;<code>FILE_APPEND | LOCK_EX<\/code>&#65289;&#12290;<\/p>\n<p>&#27880;&#24847;&#65306;&#36825;&#21482;&#26159;&#19968;&#20010;&#22522;&#30784;&#30340;&#20363;&#23376;&#65292;&#23454;&#38469;&#24212;&#29992;&#21487;&#33021;&#20250;&#26356;&#22797;&#26434;&#65292;&#27604;&#22914;&#38169;&#35823;&#22788;&#29702;&#12289;&#26435;&#38480;&#26816;&#26597;&#31561;&#12290;&#27492;&#22806;&#65292;Apache&#26381;&#21153;&#22120;&#40664;&#35748;&#24773;&#20917;&#19979;&#24182;&#19981;&#25903;&#25345;ZipArchive&#31867;&#65292;&#25152;&#20197;&#20320;&#38656;&#35201;&#23433;&#35013;&#19968;&#20010;&#25193;&#23637;&#25165;&#33021;&#20351;&#29992;&#36825;&#20010;&#24211;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312; PHP &#20013;&#65292;&#21487;&#20197;&#20351;&#29992; gzcompress &#21644; gzuncompress &#20989;&#25968;&#26469;&#21387;&#038;#325..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[42],"tuisongtax":[],"class_list":["post-655","my1js","type-my1js","status-publish","hentry","my1js2nav-xtywj"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=655"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=655"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=655"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}