こんにちは。ブラウザからリクエストがあった際に、
ローカルに保存されている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
No.1ベストアンサー
- 回答日時:
意外にLhacaでは解凍出来ず、解凍レンジだと解凍できる
なんてことがあったりします。
0Aは改行コード
09はタブということから、出力時に改行やタブが混じってるのだと思います。
良く
?>
とPHPを閉じた後に改行を書いてたりすると発生するので確認してみてください。
#質問の意図を汲み違えてたらごめんなさい。
おっしゃる通りでした!○| ̄|_
PHP初心者っぷりを発揮してしまいました・・・・
改行を取ったら問題なくダウンロード出来ました。
#質問の意図を汲み違えてたらごめんなさい。
ご指摘通りの意図です。
「コードじゃなくてもっと上位のレイヤの問題?」とか
一人考えていた自分が恥ずかしいです、、、、
質問して良かったです。
どうもありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- その他(IT・Webサービス) mayaの入れ方 1 2023/05/03 18:41
- Google Drive 【Googleドライブ】ドライブ上内でのフォルダ移行について 4 2022/11/30 12:50
- CPU・メモリ・マザーボード BIOSアップデート 3 2022/07/09 22:30
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Windows 10 原神 ファイル解凍中に 落ちてしまう 1 2022/08/01 20:41
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- その他(クラウドサービス・オンラインストレージ) firestorage_androidスマホでダウンロードできない 1 2022/10/25 08:18
- XML マイナポータルの住宅借入金当特別証明証のファイル(.xml)が開けません 3 2022/11/14 08:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETのFTPダウンロードについて
-
zip圧縮の種類について
-
指定したURLからファイル(PDF...
-
ファイルのダウンロードのイベ...
-
CSVファイルのダウンロード
-
csvをダウンロードする際、いき...
-
PHPのFTP関数ftp_fgetエラーに...
-
PHPで複数ファイルのダウン...
-
PHPのWARNINGをcatchするには
-
フォントの色を変えるには?
-
phpでPEAR::DBを使っているので...
-
別ファイルの変数を呼び出した...
-
onedrive にexcelファイルをア...
-
PHPのif文でその処理を途中で抜...
-
バッチを用いたフォルダの自動移動
-
現在位置より2つ上のディレク...
-
CSV出力にHTMLが入ってしまう
-
「クラス関数」「メンバ関数」...
-
phpでメール送信できません 原...
-
one drive のアップロード失敗...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
PHPでファイルのダウンロードす...
-
eclipseでコメントアウトができ...
-
Excelファイルをダウンロード
-
csvをダウンロードする際、いき...
-
phpでうまく画像がダウンロード...
-
指定したURLからファイル(PDF...
-
phpでzipファイルダウンロード...
-
VB.NETのFTPダウンロードについて
-
ファイルのダウンロードのイベ...
-
ダウンロードファイル名の文字...
-
zip圧縮の種類について
-
PHPでファイルのダウンロード判...
-
CSVファイルをダウンロードで文...
-
csvダウンロードについて
-
DelphiのURLDownloadToFile関数...
-
【PHP】ダウンロードサイト作成...
-
ブラウザでExcelをダウンロード...
-
ファイルのダウンロードが出来ない
-
ファイル一覧を表示しその画面...
おすすめ情報