こんにちは。ブラウザからリクエストがあった際に、
ローカルに保存されている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ランキング
-
phpでうまく画像がダウンロード...
-
libxml2のインストール
-
onedrive にexcelファイルをア...
-
リンク先を隠す方法はないでし...
-
ImageCreate関数が undefined f...
-
libmcrypt の使用について
-
PHPのif文でその処理を途中で抜...
-
ローカル環境でのメール送信
-
ZendFrameworlkでZend_Session...
-
use と requireの違いは?
-
【PHP】tmp_nameの命名規約につ...
-
PHPでファイルアップロードを中...
-
youtubeに音声のみのmp4ファイ...
-
ワードプレスサイト PHP8.0.25...
-
PHPからPerlにデータを渡して結...
-
mb_send_mailを実行するとエラ...
-
PHP ページング データベース
-
URLの変わらないページをPHPで...
-
PHPで文字列(日本語)の比較
-
VScode文字の色の変更について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
ファイル一覧を表示しその画面...
-
zip圧縮の種類について
-
ブラウザでExcelをダウンロード...
-
eclipseでコメントアウトができ...
-
複数ファイルを連続でダウンロード
-
phpでzipファイルダウンロード...
-
libxml2のインストール
-
PHPでファイルのダウンロードす...
-
CSV出力時の”0”表示(電話番号...
-
PHPでダウンロードしたファイル...
-
phpでうまく画像がダウンロード...
-
wgetの使い方
-
Excelファイルをダウンロード
-
サーバー上のファイルをブラウ...
-
ファイルのダウンロードのイベ...
-
日本語ファイル名のアップロー...
-
ダウンロードファイル名の文字...
-
VB.NETのFTPダウンロードについて
-
DelphiのURLDownloadToFile関数...
おすすめ情報