IE6でダウンロードさせたい【PHP】

このQ&Aのポイント
  • 現在、PHPからのヘッダ出力を使ってファイルダウンロードさせるプログラムを作成中です。FireFoxでは問題なく動作するが、IE6でダイアログが出ない。解決策を教えてください。
  • IE6でダウンロードさせたい【PHP】に関する質問です。現在、PHPからヘッダ出力を使ってファイルダウンロードさせるプログラムを作成中ですが、IE6ではダイアログが出ない問題が発生しています。解決策を教えてください。
  • PHPでIE6でダウンロードさせるプログラムを作成中ですが、IE6ではダイアログが出ない問題が発生しています。FireFoxでは正常に動作していますので、IE6での対応策を教えてください。
回答を見る
  • ベストアンサー

IE6でダウンロードさせたい【PHP】

IE6でダウンロードさせたい【PHP】 現在、PHPからのヘッダ出力を使って ファイルダウンロードさせるプログラムを作成しています。 (PHPスクリプトが呼ばれると、 ダウンロードダイアログが出現する) FireFoxでは問題なく動作するのですが、 IE6だと動作しません。(ダイアログが出ない) ※ちなみに、SSLは使ってません。 --↓ソース------------------- header("Content-Disposition: inline; filename=\"".basename($path_file)."\""); header("Content-Length: ".$content_length); header("Content-Type: application/octet-stream"); readfile($path_file) ---------------------------------- -IE6のHTTPヘッダ(デバッガで抽出)-- HTTP/1.1 200 OK Date: Thu, 20 May 2010 07:35:19 GMT Server: Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9 X-Powered-By: PHP/5.2.9 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Disposition: inline; filename="20100520_133719_irai_1.txt" Content-Length: 2415 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: application/octet-stream ---------------------------------- どなたか解決策に心当たりのある方、ご教授宜しくお願いします!

  • PHP
  • 回答数2
  • ありがとう数9

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

Content-Disposition: inline; を Content-Disposition: attachment; でやるという選択肢はありますか?

urahyster
質問者

お礼

ありがとうございます。 ご教示頂いた内容でIE6で動作が出来ました! inlineをattachmentにする事での問題点など無いかは別途調査してみようと思います。 どうもありがとうございました!

その他の回答 (1)

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.1

IE6のみ別処理してるサイトも多いようですよ。 例 http://tobiume.seesaa.net/article/140520682.html IE6は結構反応違うし。

関連するQ&A

  • ダウンロードさせると*.phpにリネームされてしまう。

    phpでファイルのダウンローダを作成したのですが、IEで動かすと*.phpと動作しているphpのスクリプトネームにリネームされてしまいます。 FireFoxではリネームされる事無くダウンロードされるのですが、IEでの解決方法をご存知の方、どうぞご教授くださいませ。 コードは $filesize=filesize($filedldir); header ("Accept-Ranges: none"); header ("Content-Length: $filesize"); header ("Content-Type: application/octet-stream"); header ("Content-Disposition: attachment; filename=$fnames"); readfile ($filedldir); exit; といった感じです。 何がおかしいのでしょうか?

    • ベストアンサー
    • PHP
  • PHPによるファイルのダウンロード

    初めまして最近ちょっとはまってしまっているので分る方がいましたらアドバイスお願いします。 PHPのheader関数を使ってブラウザのダイアログを表示させるファイルのダウンロードを実装した際に、ファイルサイズが大きいものをダウンロードしているとダウンロードが完了するまで他のアクセスが応答しなくなる場合があります。 基本的には $fp = fopen($filePath, "rb"); $contents = fread($fp, filesize($filePath)); fclose($fp); $len = strlen($contents); header("Content-type: application/octet-stream"); header('Content-disposition: inline; filename="' . $filename . '"'); header("Content-length: " . $len); echo $contents; というような一般的な書き方をしています。 ファイルのサイズ的には10MB前後です。 同じような現象を解決された方がいましたらアドバイス頂けると幸いです。

    • 締切済み
    • PHP
  • 画像をダウンロードさせたい。

    いろいろなファイルがサーバーにあがっているとして、 その一覧が<a href="">ファイル名</a>で表示されているとします。 ファイル名を押下した時にダウンロードさせたいと思っています。 -------------------------------------------------- header("Content-Disposition: inline; filename=".$fileDlName); header("Content-Length: ".$fileDlSize); header("Content-Type: application/octet-stream"); readfile($filePath) ------------------------------------------------- ↑でCSV,PDF,ZIPファイルなどはダウンロードできるようになりました。 が、JPEG,GIF,PNGなどはブラウザに表示されてしまい ダウンロードできません。 画像も強制でダウンロードさせたいのですがよい方法はありますか?? ブラウザ:IE7 PHP:5.2.3 Apache:2.0.59 以上、よろしくお願いいたしますm(_ _)m

    • ベストアンサー
    • PHP
  • PHPでのファイルダウンロードについて

    初めて質問させていただきます。 社内用でファイルのアップロード・ダウンロードができるシステムを開発しています。 PCからは問題なくアップロードもダウンロードも行えていたのですが、 スマホからアクセスしてダウンロードをすると失敗してしまいます。 下記のコードを使ってます。 ファイルの種類はいろいろなので、「application/octet-stream」にしてます。 が、それぞれのファイルタイプに合わせて変更させても状況は変わりませんでした。 -- header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.$file_name.'"'); header('Content-Length: '.filesize($dl_file)); readfile($dl_file); exit; -- なにか解決策があるようでしたら、教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでファイルをダウンロードさせるコード

    PDFファイルをその場では開かせず、ダウンロードさせるコードを作成しています header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . basename($path_file) . '"'); header('Content-Length:' . $content_length); ファイルをダウンロードさせること自体は成功しており、ファイル容量も間違ってないのですが ダウンロード後に開こうとするとファイルが破損していて開くことができません。 また、ハイパーリンクから直接開かせた場合は問題なく表示できております。 原因の分かる方がいらっしゃいましたらアドバイスお願い致します。

    • ベストアンサー
    • PHP
  • phpでcsvダウンロードできない

    phpで配列をCSV にしてボタンを押すとブラウザからダウンロードさせたいのですが、 htmlタグで表示した後に、ボタンを押すとブラウザからダウンロードさせるには、以下の ヘッダーをhtmlタグより下につけると、機能しなくなってダウンロードできなくなって しまっています。 どうしたらいいのでしょうか。 header('Content-Type:application/octet-stream'); header('Content-Disposition:attachment;filename=data.csv');

    • ベストアンサー
    • PHP
  • IEだと・・・だめなんです

    Zipファイルに固めてダウンロードさせようとしているのですが、Firefoxだとダウンロードできて、IEだとエラーが出てこけてしまいます。 まず、Header部分が原因だと思うのですが、原因分かる方いらっしゃいますか?教えてください。 header("Content-type: application/octet-stream"); header('Content-Disposition: attachment; filename="' . zip_file_name . '"'); header("Content-length: " . filesize($zip_file_name)); readfile($zip_file_name);

    • ベストアンサー
    • PHP
  • fileのダウンロードとページ移動を続けて行うには?

    初心者です。教えて頂けますか? フォームのボタンを押したらダウンロードする様に作りました。 ボタンを押したらダウンロードとページ移動を続けて行うには どの様にすれば良いでしょうか? header( "Content-Type: application/octet-stream" ); header( "Content-Disposition: attachment; filename=$contentFilePath" ); header( 'Content-Length: '.filesize($contentFilePath) ); readfile($contentFilePath);

    • ベストアンサー
    • PHP
  • move_uploaded_fileでアップロードしたファイルのダウンロード・解凍

    move_uploaded_fileでzipファイルをアップロードし、 chmodでパーミションを0777に変更しました。 この状態で、直接ファイルを指定すれば、普通にダウンロード・解凍できるのですが、 このファイルを別プログラムから、 header('Content-type: application/octet-stream'); header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); header('Pragma: no-cache'); header('Content-Disposition: attachment; filename="ファイル名"'); header('Content-Length: ファイルサイズ'); としてfpassthruで開くと、ダウンロードはできますが、解凍ができません。 しばらく考えているのですが、解決できず…。 宜しくお願いします。

    • 締切済み
    • PHP
  • CSVのダウンロードでエラーメッセージ

    以下のプログラムで、データベースの内容をCSV出力しようとしますが、IE6.0SP2上では、「Internet Explorerでは、接続先サイト名 - XXX.phpをダウンロードできません。このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。」と表示されます。 対策方法教えてください。 ----------------------------- header("Pragma: cache;"); header("Content-Type: application/x-csv"); header("Content-Disposition: inline; filename=output.csv"); $db=mysql_connect("localhost","***","***"); mysql_select_db("test",$db); $rs=mysql_query("SELECT * FROM master",$db); ------------------------------------------------ ちなみに、以下でも同じエラーです ------------------------------------- header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=output.csv"); ----------------------------------------

    • 締切済み
    • PHP