問題タブ [ziparchive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2697 参照

php - PHP がこの zip ファイルを作成しないのはなぜですか (権限の問題)

  • 私は窓にいます

  • PHING を使用していくつかのファイルを圧縮しています

  • 圧縮されたものがたくさんあります

  • 圧縮されるファイルに特定の phing ファイルセットが含まれているものを除いて、圧縮は機能します。

  • デバッグすると、phing の ZIP タスクで、ZipArchive::close が false を返していることがわかります。エラー文字列は「許可が拒否されました」と表示されます。マニュアルでは、 close() が実際にファイルを書き込むと述べています。

  • それは一時的な結合ではありません。言い換えれば、これが最初か最後か何であろうと起こります。他のすべてのものは機能します。これに関しては、一見何の違いもありません。

ここに私のビルド ファイルがあります: http://pastebin.org/84786 (1 か月間有効)

問題は 251 行目です。その前後の zip タスクはどちらも正常に動作します。デバッガーでは、約 150 個のファイルが zip に追加されていることがわかります。デバッガーですべてのパスが正しいことを確認しました。

ビルドは Linux で問題なく動作するようです。

zip ファイルが保存されるフォルダーを右クリックすると、読み取り専用チェック ボックスが「青く表示」され、チェックされていないか、チェックされていません。チェックボックスをオンまたはオフのままにして[OK]を押してフォルダーのプロパティに戻ると、チェックボックスは再び「青」になります。どうやらこれは仕様 ( http://support.microsoft.com/kb/326549 ) によるものであり、その 1 つのファイルでのみ発生するため、これは問題のようには見えません。

もう1つの奇妙なことは、252行目に移動して、ファイルセットを変更して、たとえば、そのすぐ上の「インポーター」モジュールのファイルを指すようにすると、zipが作成されることです。ただし、同じファイルセットの 236 行目の .tar.gz は、毎回正常に動作することが証明されています。そのため、zip タスク用の特定のファイル セットでのみ発生します。ファイル セットは tar タスクで正常に動作します。実際、その下の「パッケージ」コメントの下にある、これらのファイルも参照するすべてのタスクは作成されませんが、tar.gz ファイルは作成されます。

何を与える?

また、新しい観察結果...ファイルビューを十分に速く更新すると、両方のWindowsマシンで次のようになります。myzipfile.zip.tmpが構築されているのを見ることができますが、myzipfile.zipは作成されません。

Linux では、すべてが問題なく動作していることを再確認しました。図に行きます。

0 投票する
1 に答える
219 参照

php - php で exec() を使用するよりも、ZipArchive を使用してアーカイブを展開する方が高速ですか?

ユーザーがアップロードしたアーカイブを解凍する必要があるアプリを作成しています。PHP は ZipArchive クラスを提供しますが、exec() 経由で unzip を使用して解凍することも可能であるはずです。私の質問は、パフォーマンスとスケーリングの点でどちらが好ましいですか?

0 投票する
1 に答える
15121 参照

php - ZipArchive php クラス - PHP に組み込まれていますか?

さて、このクラスが組み込まれている PHP のバージョンについて考えてみます。そして、それらがすべてのプラットフォーム (OS) に組み込まれている場合。zip ファイルを検索しfile_put_contents、webroot 内の異なるファイルパスを使用してファイルを配置する方法が必要です。いずれにせよ、私は ZipArchive クラスでこれを行う方法に精通していますが、このクラスを使用することが良い解決策であり、すべてのサーバーではないにしても、MOST をサポートするかどうか疑問に思っています?? つまり、サーバーにインストールする必要がある方法は使用したくありません。クラスをインストールしなくても、少なくともMOSTサーバーをサポートする解決策を探しています...

ありがとう :)

また、可能であれば tar.gz および/または .tgz ファイルを開くことをサポートしたいのですが、ZipArchive クラスがこれをサポートしているとは思いませんが、おそらく別の組み込みの php クラスがサポートしていますか??

0 投票する
2 に答える
1582 参照

iphone - 大規模なアーカイブのためのiPhoneでのZipArchiveメモリの問題

複数のファイルを単一のzipアーカイブに圧縮しようとしていますが、メモリ不足の警告が表示されます。完全なzipファイルがメモリにロードされるので、それが問題だと思います。ZipArchiveを使用して圧縮/解凍をより適切に管理し、すべてのデータが一度にメモリに保存されないようにする方法はありますか?

ありがとう!

0 投票する
1 に答える
1562 参照

php - PHP ZipArchive を使用して word/rels/document.xml.rels を更新できない

後で XSLT で使用するために、PHP を使用してバイナリ データを画像として Word ドキュメント (Opem XML) に読み込もうとしています。

Word 文書を PHP ZipArchive として開いた後、画像をword/mediaフォルダーに正常にロードし、 word/document.xmlファイルを更新することもできました。しかし<Relationships/>word/rels/document.xml.relsファイルを更新できません。

xml が正しい形式であることを既にクロスチェックしました。

以下は、私が使用しようとしているコードスニペットです。

誰かが私が間違っているかもしれないことを提案できますか?

0 投票する
3 に答える
1483 参照

php - PHPを使用して画像ファイルを圧縮して抽出するにはどうすればよいですか?私のコードは破損した抽出をもたらします

ユーザーが100mbのファイルをアップロードできるフォームがあるため、アップロードが遅れます。そのため、最初にフォームの送信時に画像を圧縮してからサーバーにアップロードしてから、サーバーに抽出することにしました。ロードプロセスが減少するように、したがって、これには次のようなスクリプトを使用しました。

上記のコードから画像を抽出しましたが、抽出後、画像のサイズが61バイトに縮小されて破損しているため、表示できません。

このコードの何が問題になっているのか教えてください

0 投票する
2 に答える
1105 参照

php - ZipArchive php クラスはルートとしてファイルを抽出します。なんで?

私はphpスクリプトを持っています:

しかし、このスクリプトを実行すると、http://www.mywebsite.com/extract.php経由で

FTP 上のすべてのファイルは OWNER 'root' で表示されますが、ユーザー ex では表示されません。本来あるべき「neo」。したがって、ユーザーはこれらのファイルを編集/名前変更/削除できません。

とにかくこれを修正することは可能ですか (私はサーバーを所有しています)、そのファイルは 'USERNAME' OWNERSHIP で抽出されますか?

0 投票する
2 に答える
13226 参照

php - PHP ZipArchiveステータス値はどういう意味ですか?

私は、S3バケットからファイルを読み取り、zipしてから、zipファイルをバケットに書き戻すEC2サーバー上のLinuxボックスで実行するPHPコードを書き始めたところです。

EC2インスタンスのローカルディスク上のいくつかの画像から単純なzipアーカイブを作成することでさえ問題にすぐに遭遇しました。スクリプトを使用して、オンラインでPHPマニュアルのアイデアをテストし、Davidのスクリプトも試しました。 Walsh- http://davidwalsh.name/create-zip-phpこれは素晴らしいと思われます。どちらも実際のzipファイルにはならず、どちらも異なるステータス結果を表示します-

PHPマニュアルの最初のスニペット(変数$ thisdirを追加します)-

出力=

numfiles:2ステータス:11

'uploads'フォルダにzipファイルが表示されません

私が試したコードの2番目のビット(ここにコードを投稿しません)-実際のファイルを渡すと、

zipアーカイブには、ステータスが0の2つのファイルが含まれています

ステータスメッセージとは何ですか。phpinfo()の出力を見て、正しいライブラリがインストールされているかどうかを確認しました。そしてZIPの見出しの下に私が見る-

Zip対応
拡張バージョン$Id:php_zip.c、v 1.1.2.43 2008/01/18 00:51:38 pajoye Exp$
Zipバージョン
1.8.11Libzipバージョン0.8.0互換

実行しているコードを使用してファイルPHPファイルのアクセス許可を確認しました。これらは、zipアーカイブを追加しようとしているフォルダーと同様に777に設定されています。私はこれが777のままであってはならないことを知っています。

zipファイルが表示されない理由はありますか?ステータス値はどういう意味ですか?PHPを使用してAmazonS3バケット上のファイルを圧縮するための優れたチュートリアルはありますか?またはこの機能を提供するための優れたユーティリティ?

乾杯

0 投票する
3 に答える
3175 参照

php - PHP ZipArchiveが700を超えるファイルを追加しない

php_zip.dll の ZipArchive クラスに問題があります。最大ファイルハンドルの問題を回避するために、php.net で提案されている ZipArchiveImproved ラッパー クラスを通じて使用しています。

問題は実に単純です。700 個のファイル (jpg 画像ファイル) が正しく追加され、残りは失敗します。addFile メソッドは false を返します。

PHP のバージョンは 5.2.6 です。

奇妙なことは、これが実際に機能していたことです。
何が問題なのですか?手がかりを教えてもらえますか?

事前にどうもありがとうございました!

編集: 申し訳ありませんが、エラー メッセージが表示されないというのは事実ではありません (php.ini で display_errors がオフになっていましたが、以前は気付きませんでした)。701. ファイルから、次のエラー メッセージが表示されます。

close() 呼び出しが false を返すように見えますが、エラーは発生しません。何か案は?

編集 2: 関連するソース:

0 投票する
3 に答える
9318 参照

php - PHPのzipArchiveクラスのサイズ制限?

ユーザーがダウンロードできるように、PHPでzipファイルを作成しています。PHP から、または zipArchive クラスの GetStatusString 関数をチェックしても、エラーは発生しません。しかし、いくつかのファイルをアーカイブに入れた場合、それを開こうとすると、「圧縮 (zip 形式) フォルダーが無効であるか破損しています」というエラーが表示されます。追加するすべてのファイルを確認しましたが、すべて問題ありません。私が考えることができる唯一のことは、より大きなファイルが問題を引き起こしているということです. しかし、「大きな」ファイルは約 0.5 メガバイトしかなく、zipArchive のファイル サイズ制限に関するドキュメントは見つかりません。この問題を追跡できるように、他に試してみるべきことについて何か考えはありますか? ありがとう。

編集: 問題を引き起こしている特定の 1 つのファイルに絞り込みました。同じかそれ以上で機能するものは他にもあるので、その考えは捨ててしまうと思います。正常に機能しているファイル名の例を次に示します。

627 Jane.CCD.pdf
712 Example_DrNotes.pdf
625 Jane.Labs2.pdf

はい、ファイル名にスペースがあります...継承されたコードの問題です。動作しないファイル名は次のとおりです。

623 ジェーン.Labs.pdf

ファイル名の問題ではないようです。これは最終的には Web 経由になりますが、サーバー上で作成される実際の zip ファイルをチェックしていて、そこにエラーが発生しています。

コードは次のとおりです。

編集 2: 申し訳ありませんが、ファイルを投稿できません。その中には個人情報が含まれています。