人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

拡張子が「.gz」の圧縮についてです。
PHPでgzopen()、gzwrite()、gzclose()を使用して「.gz」ファイルを書き出したのですが、
それをダウンロードしてアーカイバ「+Lhaca」で解凍すると、
「問題が発生したため、Lhaca.exeを終了します。ご不便を・・・」とエラーが表示され
解凍できません。

そもそも圧縮時にファイルの中身に元のファイル名を保存しなくていいんでしょうか?

【アーカイブソフトでの圧縮・解凍】
a.txt → 圧縮 → a.txt.gz
a.txt.gz → ファイル名変更 → b.txt.gz
b.txt.gz → 解凍 → a.txt

このように、圧縮したファイル名を変更しても、解凍すると自動的に元のファイル名にちゃんと戻るということは圧縮ファイルの中身に元のファイル名が保存されているのではないのでしょうか?
でも、PHPの書き出しでは、元のファイル名を、圧縮ファイルの中身に含める方法の記述はありません。
エラーの原因と何か関係がありますか。

なお、リモートログインして「gzip」コマンドで解凍するとエラーなく解凍できます。
FTPでダウンロードするときは、もちろんバイナリモードです。
エラーの心当たりがある方、よろしくお願いいたします。

●質問者: kyoko55
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:ca. exe FTP gzip PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tadashi0805
●35ポイント

gzipコマンドで解凍できたということは、PHPで作ったファイルの形式は、問題ない気がします。

おそらく、+Lhacaの何らかの不具合ではないでしょうか。

私の環境では、+Lhaca 1.19でgzip形式の解凍は問題なく行えました。

一旦アンインストールして最新版をインストールするか、別の解凍ソフト(Lhazとか)をインストールしてみてはいかがでしょうか。

◎質問者からの返答

ありがとうございます。

「+Lhaca」の不具合・・・確かに怪しい気がします。

以前、アーカイバ「WinRAR」で解凍できる「.rar」ファイルを+Lhacaで解凍するとエラーが出たことがありましたので。。


2 ● b-wind
●35ポイント

gzip は元々データストリームを圧縮する目的で使用されるので、元のファイル名は含めなくとも問題はありません。

gzip コマンドでも回答できていることからも、ファイル自体は問題ないものと思われます。


  1. Lhaca は使った事がありませんが、独自の解凍ルーチンを使用しているようですので他のソフトを使ってみてはいかがでしょうか?
◎質問者からの返答

ありがとうございます。

なるほど。よくgzipを調べてみたら、ファイル名を含めるか否かはオプションのようでした。

おっしゃるとおりエラーとファイル名は関係ないのですね。

> 独自の解凍ルーチン

他のソフト試してみます!

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ