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

PHPでテキストファイル(ログ)のダウンロードスクリプトを作っています。(共有サーバーで使います)

ログの圧縮にシステムコマンドを利用してtar cvzf $tmp_file $dir
という感じで$dirディレクトリに含まれるログを$tmp_fileという名称で圧縮します。

このときにログの改行コード(CR+LF)がLFに変わってしまうのですが、
システムコマンドを使う場合は避けようがないのでしょうか?

システムコマンドを使った場合でも、改行コードを変えない圧縮方法があれば教えて下さい。


ちなみに,PHPのgz*関数を使うとDLしたあとで解凍がうまく出来ません。
解凍ソフトは3種類ほど試しましたが全滅でした。(php4.3.9ですが)
またzip圧縮のライブラリなども使ったことはあり便利なのですが、
今回は外部ライブラリを使わない方針で、なるべくシンプルな方法を探しています。

よろしくお願いします。

●質問者: gekikawa
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Cr Dir DL LF PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kurukuru-neko
●35ポイント

tarはデータを保管するだけなので

改行コードの変換を行いません。

アップロードされたファイルが$dirに格納された

データがそのような形式保存されている。

PHP gzで圧縮したファイルを

xxx.gzとした場合

gunzip xxx.gzで復元できます。

拡張子がgz以外の場合例えば xxx.tmp

の場合

gunzip -S .tmp xxx.tmp

http://jp2.php.net/manual/ja/ref.zlib.php

◎質問者からの返答

復元方法まで、ご回答ありがとうございます。

改行コードの変換はやはり行われないものなんですか。

↓コメント↓に書いたようにFTP経由ではCR+LF

http経由だとLFになってしまうんです。

いずれも.gz拡張子で、DLして+Lhaca1.2.0.0で解凍した結果です。

「Windowsでメモ帳を使ってもダウンロードしたログが見られるように」

という目標なんですが、困りました。

なんか変なことやっているんでしょうか?

unix環境の知識がほとんどないので困っています


2 ● studioes
●35ポイント

たまにありますね・・・

全部ファイルをアップしたつもりが、1個だけ更新できていなかったとかでエラーが出ることって。

とにかく解決して何よりです。

◎質問者からの返答

なんともお恥ずかしい限りです。

予想外のことが起きると、スクリプトをドンドン書き換えてしまうので、更新漏れだったんですね。

今回はtarの勉強ができたということで収穫ありでした。

関連質問


●質問をもっと探す●



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