要約すると、最終的な解決策は、php.ini ファイルを変更し、デフォルトの Output_buffering を off に変更し、それを 4096 に変更することです。
ob_start();
setcookie("ユーザー名","ソン・ヤンビン",time()+3600);
echo "ユーザー名は:".$HTTP_COOKIE_VARS["ユーザー名"]."n";
echo "ユーザー名は:".$_COOKIE["ユーザー名"]."n";
print_r($_COOKIE);
?>
警告: ヘッダー情報は変更できません - ヘッダーは既に送信されています。エラーの理由
phpプログラムの先頭に追加しました
header("キャッシュ制御:キャッシュなし、再検証が必要");
その後、ページ上に上記のエラーが表示され、N情報を読み込んでも結果が出ませんでした。今日、php.ini の設定に問題があることに偶然気づきました。php.ini ファイルは C:windows
にありました。
Output_buffering のデフォルトはオフです。今度は 4096 に設定しましたが、問題ありません。
表示プロンプトエラーと、(日付 + エクスポートされたファイルの数) をファイル名として使用できないというエラー メッセージを解決するために使用されます。
setcookie 関数は、データがブラウザに出力される前に送信する必要があります
上記の制限により、setcookie() 関数を実行すると、「インデックスが定義されていない」、「ヘッダー情報を変更できません - ヘッダーはすでに送信されています」などの問題が発生することがよくあります。「ヘッダー情報を変更できません - 」エラーを解決します。この方法は、Cookie を生成する前にブラウザへのデータの出力を遅らせることです。そのため、プログラムの先頭に ob_start(); 関数を追加できます。
ob_start() 関数はバッファを開くために使用されます。たとえば、header() 関数の前にキャリッジ リターン、スペース、ライン フィードを含む出力がある場合、「ヘッダーはすべての送信準備ができました」というエラーが発生します。この場合、最初に ob_start() を使用してバッファを開くことができます。PHP コードのデータ ブロックと echo() の出力はバッファに入りますが、バッファを開くことには多くの機能があります。想像力を働かせてください。それは次の 4 つの点に要約できます。
ob_start(); //バッファをオープンします
echo "こんにちは" //出力
header("location:index.php"); //ブラウザをindex.phpにリダイレクトします
ob_end_flush();//すべてのコンテンツをブラウザに出力します
?>
phpinfo(); //phpinfo関数を使用します
$info=ob_get_contents(); //バッファの内容を取得し、$info
に代入します。
$file=fopen('info.txt','w'); // ファイル info.txt を開きます
fwrite($file,$info); //info.txt に情報を書き込みます
fclose($file); // ファイル info.txt を閉じます
?>
3. 静的ページテクノロジー
?>
PHPページのすべての出力
$content = ob_get_contents();//PHP ページによって出力されたすべてのコンテンツを取得します
$fp = fopen("output00001.html", "w") // ファイルを作成し、書き込み用に開きます
;
fwrite($fp, $content); //PHP ページのすべてのコンテンツを Output00001.html に書き込み、その後...
fclose($fp);
?>
4.コードを出力する
If($code) {
ob_start();
eval($code);
$contents = ob_get_contents();
ob_end_clean();
}その他{
echo "エラー! 出力がありません";
exit();
}
$content を返します;
}
http://www.bkjia.com/PHPjc/477179.html