- ベストアンサー
ファイルの解凍及び名前変更保存方法
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
"rt"じゃ書き込めないですね。 "wt"の間違いです zlib関数はこちら http://jp2.php.net/manual/ja/ref.zlib.php
その他の回答 (3)
- php504
- ベストアンサー率42% (926/2160)
sendファイルがgzip圧縮されたファイルなら18バイト削除とかしなくてもPHPのgzopen("./xxx/aaa.send", "r");でそのまま読み込めますよ。 あとは普通にfopen("aaa.xml", "rt");して書き込むだけです。
- yambejp
- ベストアンサー率51% (3827/7415)
ところでわからないところはどこでしょう?
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
zipファイル関数が使えるんじゃないかな http://jp2.php.net/manual/ja/ref.zip.php
お礼
ご解答ありがとうございます。 直接の解決にはなりませんでしたが、指針になりました。
関連するQ&A
- 解凍した内容を別のファイル名で保存
圧縮ファイル($filename.gz)を解凍し、 解凍した内容を別のファイルに書き込み保存するスクリプトを考えています。圧縮されているファイルは解凍するとxmlファイルですが、下記のスクリプトの方法ですと解凍されず、対象のxmlファイルは0バイトです。 「概念から間違っているのかなぁ」と考えもしましたが、 ちゃんと解凍して./aaa/bbb.xmlファイルに書き込む方法がわからず質問させていただきました。 どうかご教授願います。 ※$filename.gzというのはこのスクリプトの直前で作られている圧縮ファイルです。このファイルのファイル名・内容については問題ないことを確認しています。 ============ <?php ~ touch("./aaa/bbb.xml"); $decompress = "/usr/bin/gzip -dc $filename.gz"; $result = system(escapeshellcmd($decompress)); $lastfile = fopen("./aaa/bbb.xml", "rwb+"); $lastview = fwrite($lastfile, $result); fclose($lastfile); ~ ?> ============
- ベストアンサー
- PHP
- linux上で、複数のgz圧縮ファイルを、元のgzファイルも保持したま
linux上で、複数のgz圧縮ファイルを、元のgzファイルも保持したまま解凍したいのですが、 > gunzip -cd *.gz のように、標準出力して元のファイルを残すのではなく、 圧縮ファイルとして元のファイルを保持したまま、解凍も行うことはできないのでしょうか? (例えば、"AAA.gz"を解凍して"AAA"と"AAA.gz"の2つをディレクトリ内に残すことはできないのでしょうか?) ご教授よろしくお願いします。
- ベストアンサー
- その他(ITシステム運用・管理)
- PHPでgz形式のファイルをダウンロード→解凍出来ない
こんにちは。ブラウザからリクエストがあった際に、 ローカルに保存されているgzip形式で圧縮した XMLファイルをPHPで読み込んで ダウンロードさせる、というプログラムを作成しております。 ダウンロードした後、解凍しようとすると 「破損ファイルです」とのメッセージが出て 解凍が出来ません。 ダウンロードしたファイルをバイナリエディタで開いてみると、 先頭に"0A"、 末尾に"0A090A" というゴミ?なんでしょうか、変なものが付いています。 (これが何かは調べても分かりませんでした。 また、このゴミを削除すると解凍出来ました) ローカルに保存したファイル、及び、PHP内の読み込みまではゴミは付いていませんでした。 //ソース抜粋 header('Content-Type: application/gzip;'); header('Content-disposition: attachment; filename=hogexml.gz'); $fp = fopen('/home/hoge/hogexml.gz', 'rb'); $str = fread($fp, filesize('/home/hoge/hogexml.gz')); $echo $str; //この時点でbin2hex()で$strをダンプしてもゴミは付いていない fclose($fp); ファイルはEUC-JPでDBから取得した文字列をUTF-8に変換してから圧縮して作成しております。 圧縮関数はgzopen(),gzwrite(),gzclose()です。 またブラウザからhttp://hogehoge_arienai.com/hogexml.gzという様に ファイルを直接指定してダウンロードした場合は問題なく解凍されました。 八方塞がり状態でどうしたら良いものかと・・(´△⊂)・. こういった現象にちょっとでも心あたりのある方おられましたら ヒントでも構いませんので、何卒ご返答の程よろしくお願い致しますす。 <PHPスクリプトの動いているサーバ> OS:FreeBSD6.1 Apache:2.0.58 PHP:5.1.2 <ダウンロードしているクライアント> WindowsXP Pro
- ベストアンサー
- PHP
- ディレクトリ下のファイルを再起的に一括圧縮・解凍する方法?
linuxでは、ディレクトリ下のファイルを再帰的にgzip等で一括して 圧縮できます。 gzip -rv ./* このように圧縮したディレクトリ構造をまるごとFTPでWindowsに持ってくることがあります。転送後に、そのディレクトリ下のファイルを一括で解凍する方法を教えて頂けないでしょうか? 現在、Lhaplusを使っていますが、カレントディレクトリにあるファイルを全て選択して、解凍できますが、その下のディレクトリ、更にその下のディレクトリがある場合、それぞれのディレクトリの個数回、この作業を繰り返さなければならず、階層構造が多い場合非効率で困っています。 できれば、 gzip -rdv ./* といった具体に一括で解凍できるWindowsソフトを教えて頂けると大変ありがたいです。また、ディスク容量節約のために解凍の際に、元のファイルは、設定で削除してくれるとありがたいです。 (そうでないと、1つ1つ削除しなければならずこれまた非効率なので) また、この逆に、Windowsの階層構造下をまるごと圧縮して、Linuxシステムに移動することもできるとありがたいです。
- ベストアンサー
- フリーウェア・フリーソフト
- 解凍ファイル
ABファイルを解凍したいんですが 「ファイル名.ara.abはアーカイブファイルではありません。」 と出てしまいます。 今使っているソフトなんですがなんていうソフトか忘れたんですが、「.lzh .zip(pass) .bh .bz2 .cab .gz .tar .tar.bz2 .tar.gz .b64 .xxe .uue .exe .tar.gz」に圧縮できます。 abファイルは解凍できませんでしたが、aaファイルは解凍できました。 ABファイルが解凍できるソフトってないですか? 解凍お願いします。
- 締切済み
- その他([技術者向] コンピューター)
- tar.gzファイルの解凍
FreeBSDを使用しています。 ダウンロードした AAA.tar.gz というファイルを解凍したいのですが、 gunzip AAA.tar.gz とすると、 gunzip: AAA.tar.gz: not in gzip format と出ます。 そこで、 file AAA.tar.gz とすると、 AAA.gz: GNU tar archive と出ました。 ですので、 tar xzvf AAA.tar.gz としてみましたが、以下のように出ます。 gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed from previous errors どのようにして解凍すればよいのかご教授いただけませんでしょうか?よろしくお願いいたします。
- ベストアンサー
- BSD系OS
- 解凍できなくて困ってます
圧縮ファイルで (ファイル名).pdf.gz と (ファイル名).ps.gz というのをwindows上で解凍したいのですが どうしたら言いのでしょうか? 教えて下さい!!
- ベストアンサー
- その他(OS)
- Lhaplusで圧縮ファイルと同じ階層に解凍するには
zipファイルを解凍するのにLhaplus1.22を使っています。解凍時、圧縮ファイルと同じ階層に解凍するにはどこでどう設定したらいいのでしょう。
- ベストアンサー
- フリーウェア・フリーソフト
- tarで圧縮したファイルの解凍時の保存先指定
こんにちは、tarについてご教授ください。 tar czvf /home/hoge/test.tar.gz /home/hoge/testdir ↑の様に圧縮したとします。 これを同じ場所に解凍したいのです。 /home/hoge/test.tar.gz を /home/hoge/ のディレクトリの中から下記の様に解凍します。 tar zxvf /home/hoge/test.tar.gz すると、/home/hoge/home/hoge/testdir/ に解凍されてしまいます。 試しに tar zxvf /home/hoge/test.tar.gz / と言う感じに指定できたら、問題解決なんですが・・・これはできませんでした。 /に移動してからコマンドを発行ということも訳あってできません。 というのもPHPのプログラム上からsystemコマンドで圧縮と解凍をしているのですが、 解凍すると、PHPがあるディレクトリからの相対パスに解凍されてしまいます。 指定した場所に解凍するということはできませんでしょうか? tar --help でみてみたのですが、それらしきオプションは探せませんでした。 zipはまだ使ったことありませんが、こちらを使った方がサーバーへの負荷や扱いやすさでは上なのでしょうか? ご教授お願い致します。
- ベストアンサー
- Linux系OS
- 階層にわかれているファイルを一度に解凍できますか
+Lhaca Version 1.18を使っています フォルダにはいっている圧縮ファイル(1000個以上)を まとめて解凍したいのですができますでしょうか ・圧縮形式 .lzh .z .tar .zip ・階層は5階層以上あります ほかのソフトでも結構ですので教えてください よろしくお願いします
- ベストアンサー
- フリーウェア・フリーソフト
お礼
#4も含めて参考になりました。 無事解凍及び保存ができました。 ありがとうございます。