あなたのコードと ZIP ファイルを見なければ、誰も確かなことはわかりませんが、同様の問題があったことを思い出し、スクリプトがいくつかのエラー メッセージをスローしていて、生成された ZIP アーカイブになってしまったようです。一部の解凍ではこれから回復できましたが、他の解凍では回復しなかったため、ZIP ファイルを任意のテキスト エディターで開き、ファイルの先頭に PHP 警告メッセージのようなものがないかどうかを確認することをお勧めします。
編集
通常の zip ファイルは"PK"
. あなたのファイルはそうで始まる" PK"
ので、本当にそれが必要でない限り?>
、zipファイルを生成するPHPスクリプトから削除します(そして、すべてのスクリプトからこれを削除することをお勧めします)。後に潜む?>
PHP コード ブロックにいる場合、空白は何もしません。しかし、配置?>
することで、スクリプトがいつ終了するかを PHP に伝えます。また、PHP コード ブロックの外側では、空白がクライアントに送信されています。したがって、キープ?>
し、スペースがその後にある場合は、送信されます。また、スクリプトの出力がダウンロード可能なものである場合、そのスペースはユーザーが保存したバイト ストリームに「結合」します。?> を削除することで、コードがどこで終了するかを明示的に PHP に伝えることはありません。その場合、ソース ファイルの終わりで自動的に終了します。そして、空白は通常、エディターの設定により「見えない」ため、追跡するのが難しいです(そのため、構文の強調表示を設定して、背景色とは異なる色で空白を表示します)
一般に、上記の理由から、?>
PHP コードを何か (つまり HTML) と混ぜない場合は、常に使用しないことをお勧めします。保存時に末尾の空白を自動トリミングするようにエディターを構成すると常に役立ちます