2017-04-18 8 views
0

私は共有から専用にサーバを移動しました。共有サーバーでは、私のExcelレポートが正常に動作していて、PHPによって作成されたダウンロードを求めています。私は、ダウンロードのために求めていない、ブラウザ自体に開いている私の新しいサーバーエクセルのレポートでは、以下のヘッダExcelのレポートがブラウザで開き、PHPでダウンロードを要求しています

header("Content-type: application/vnd.ms-excel; name='excel'")     ; 
header("Content-Disposition: inline; filename=MBQ_report.xls"); 
header("Expires: 0")              ; 
header("cache-control:just-revalidate,post-check:0, pre-check:0")   ; 
header("Pragma: public")  

を与えています。いずれか1つ私は問題を解決するのを助けてください。私はこれの理由を知ることができます。 インラインに添付この変更を行うために

答えて

0

。それが仕事でした

代わりのheader("Content-Disposition: inline; filename=MBQ_report.xls");header("Content-Disposition: attachment; filename=MBQ_report.xls");

を置きますか?

+0

、しかし、働いていません。私はいくつかの構成の変更を探しています、私のすべてのPHPファイルを変更したくありません – Nakul

+0

いくつかのサーバー構成を共有してください。例えば。 ApacheまたはIIS、PHPのバージョン? –

+0

Apache/2.4.25およびPHP 5.6 – Nakul

0

ブラウザの設定によっては、xlsファイルをダウンロードするように設定されている場合や、xlsがブラウザの既知のファイル拡張子の場合は直接開くように設定されている場合があります。しかし、あなたはこの

header("Content-Disposition: inline; filename=MBQ_report.xls");

この

header("Content-Disposition: attachment; filename=MBQ_report.xls");

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

最初にへ

変更..それを開くので、ダウンロードのプロンプトを表示しないように設定されていますHTTP contexのパラメータtはインライン(デフォルト値、Webページ内またはWebページ内に表示できることを示すデフォルト値)または添付ファイル(ダウンロードする必要があることを示します。 '名前を付けて保存'ダイアログを表示するほとんどのブラウザでは、ファイル名パラメータの値があらかじめ入力されています。

0

.htaccessで実行できます。

<Files *.xls*> 
     ForceType application/vnd.ms-excel 
     Header set Content-Disposition attachment 
    </Files> 

ORテスト済みこの

<FilesMatch "\.(xls|xlsx)$"> 
    ForceType application/vnd.ms-excel 
    Header set Content-Disposition attachment 
</FilesMatch> 
+0

試してみましたが動作しません – Nakul

関連する問題