关于ob_start();该怎么解决

Jun 13, 2016 am 10:36 AM
quot setcookie start

关于ob_start();
想问一下 ob_start();ob_get_contents();ob_end_clean();
此3个函数 具体有什么用 且什么情况下用这些函数

------解决方案--------------------
翻版一下03年怪署黍的回答

PHP4 的新函数介绍 - 输出信息控制函数
 魔族精灵


这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况. 输出控制函数不对使用 header() 或 setcookie() 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用.

例 1. 控制输出


ob_start();
echo "Hello\n ";

setcookie ( "cookiename ", "cookiedata ");

ob_end_flush();

?>

在上面的例子中,使用 echo() 的输出内容将会保存在输出缓冲区中,直到调用了 ob_end_flush(). 这样做有意义的地方是,调用 setcookie() 的内容被成功的存储在 cookie 里面而不会引起错误. (正常情况下,你不可以在有数据已经发送后再发送文件头信息到用户浏览器.)

相关函数 header() and setcookie().

韩数列表
flush — 刷新输出缓冲区
保存在输出缓冲区的内容会被发送到浏览器

ob_start — 打开输出缓冲区
这样所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面

ob_get_contents — 返回输出缓冲区的内容
如果你想以后处理输出的内容,可以调用这个函数保留一个备份

ob_get_length — 返回输出缓冲区的内容长度

ob_end_flush — 结束(发送)输出缓冲区的内容,关闭输出缓冲区

ob_end_clean — 删除(放弃)输出缓冲区的内容,关闭输出缓冲区
如果你的程序发现输出内容有问题,可以放弃所有输出内容,可以防止泄漏某些秘密信息

ob_implicit_flush — 打开或关闭直接刷新
打开后,每个脚本输出都直接发送到浏览器,不再需要调用 flush(),

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

docker start が起動できない場合はどうすればよいですか? docker start が起動できない場合はどうすればよいですか? Oct 21, 2022 pm 03:43 PM

Docker の起動に失敗した場合の解決策: 1. 実行ステータスを確認し、「echo 3 > /proc/sys/vm/drop_caches」コマンドを使用して占有メモリを解放します; 2. 「$netstat -nltp|grep .. .」を使用します。 「」コマンドでポートが占有されているかどうかを確認します。オンライン後に占有されていることが判明した場合は、空いているポートに変更して再起動してください。

setcookie php が失敗した場合の対処方法 setcookie php が失敗した場合の対処方法 Oct 26, 2022 am 09:07 AM

setcookie php の失敗に対する解決策: 1. 対応する PHP ファイルを開きます; 2. ドメイン名パラメーターが標準化されているかどうかを確認します; 3. グローバル変数、「foreach ($_COOKIE["cookie"] as $ などのコード) を通じて実装します。」 name => $value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo..."。

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

ノードの起動でエラーが報告された場合の対処方法 ノードの起動でエラーが報告された場合の対処方法 Dec 29, 2022 pm 01:55 PM

ノード起動エラーの解決策: 1. ターミナルで直接「node xx.js」を実行します; 2. 起動スタートアップ項目「scripts」を追加します: {"test": "echo \"Error: no test specific\" && exit 1 " ,"start":"node service.js"}"; 3. 「npm start」を再実行します。

setcookie 関数を使用して PHP で Cookie を設定する方法 setcookie 関数を使用して PHP で Cookie を設定する方法 Jun 26, 2023 pm 12:00 PM

Web 開発では、Cookie は Web アプリケーションがクライアント側でデータを保存したりアクセスしたりできるようにする非常に一般的なテクノロジです。 PHP プログラミングでは、Cookie の設定は通常、setcookie 関数を使用して実装されます。 setcookie 関数の構文は次のとおりです。 boolsetcookie(string$name[,string$value[,int$expire[,string$path[,

PHPのsetcookieのタイムスタンプ0は何を意味しますか? PHPのsetcookieのタイムスタンプ0は何を意味しますか? Mar 22, 2023 am 10:38 AM

PHP の setcookie() 関数は、クライアント ブラウザに Cookie を設定する方法です。これにより、Web サイトは次回の訪問時に Cookie を通じてユーザーを認識し、対応するサービスを提供できるようになります。 setcookie() には、Cookie 名、値、有効期限などを含むいくつかのパラメータがあります。有効期限を設定する場合、タイムスタンプで指定することができます。ただし、タイムスタンプが 0 に設定されていることがあります。これは何を意味しますか?

Javaスレッドでstartメソッドとrunメソッドを使用する方法 Javaスレッドでstartメソッドとrunメソッドを使用する方法 Apr 20, 2023 am 08:58 AM

start メソッドと run メソッド $start()$ メソッドは、スレッドを開始するために使用されます。この時点では、スレッドは準備完了 (実行可能) 状態にあり、実行されていません。$cpu$ タイム スライスが取得されると、$ run()$メソッドの実行が開始されます。 $run()$ メソッドを直接呼び出すと、クラス内のメソッドが呼び出されるだけであり、このメソッドは基本的に現在のスレッドで実行されるため、$start()$ メソッドを使用して $run()$ を呼び出すことによってのみ実現できます。メソッド。真のマルチスレッド。サンプルコード@Slf4j(topic="c.Test4")publicclassTest4{publicstaticvoidmain(Strin)

Javaスレッドでの開始と実行の違いは何ですか Javaスレッドでの開始と実行の違いは何ですか Apr 20, 2023 pm 12:37 PM

publicclassTest1extendsThread{@Overridepublicvoidrun(){while(true){System.out.println(Thread.currentThread().getName());}} publicstaticvoidmain(String[]args){Test1test1=newTest1();test1.run() ;//出力結果 maintest1.start();//出力結果 Thread-0}}1.startstart は、

See all articles