PHP 出力ファイルのヘッダー例外

WBOY
リリース: 2016-06-13 13:37:57
オリジナル
1035 人が閲覧しました

PHP 出力ファイルのヘッダー エラー
ローカルの nginx 1.09 テストではすべてが正常ですが、サーバー nginx 1.12 にアップロードすると、テキスト出力 を選択するとエラーが報告されます
完全なコード:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php
    @$id=$_GET['id']?$_GET['id']:'a';
    @$txt=$_GET['txt']?$_GET['txt']:'';

    $trees=array();
    $trees["a"]="苹果";
    $trees["b"]="香蕉";
    $trees[3]="樱桃";

if($txt){
    header('Content-Disposition: attachment; filename="'.$trees[$id].'.txt"');
    header('Content-type: text/'.($txt?'plain':'html').'; charset=utf-8');
    echo '您选择种了:'.$trees[$id].'树';
    die();
}else{
    echo '<h3>您选择种了:'.$trees[$id].'树</h3>';
?>
<form action="" method="get">
选择您想种的树:
<select name="id">
<?php foreach($trees as $key=>$tree){ echo '<option value="'.$key.'">'.$tree.'</option>'; } ?>
</select>树<br>
输出格式:<select name="txt">
<option value="">默认</option>
<option value="1">文本</option>
</select>
<input type="submit" value="提交">
</form>
<?php
}
?>

ログイン後にコピー

デモのアドレス: http://guilyn.host.org/cn/demo/full.php

------解決策--- --- ----------------
これが BOM ヘッダーの理由であるはずです。 php.iniのoutput_buffering=Onを変更することも、削除することもできます。
------解決策----------------------
として保存するときは、このヘッダーに注意する必要がありますutf8のこと...
------解決策-----
int_set('output_buffering=On');間違って書いたかどうか知っていますか?
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!