Maison développement back-end tutoriel php 关于ob_start();该怎么解决

关于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(),

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si Docker Start ne peut pas démarrer ? Que dois-je faire si Docker Start ne peut pas démarrer ? Oct 21, 2022 pm 03:43 PM

Solution à l'échec du démarrage du docker : 1. Vérifiez l'état d'exécution, puis libérez la mémoire occupée via la commande "echo 3 > /proc/sys/vm/drop_caches" ; 2. Utilisez "$netstat -nltp|grep .. . " pour vérifier si le port a été occupé. S'il s'avère occupé après la mise en ligne, remplacez-le par un port disponible, puis redémarrez.

Que faire si setcookie php échoue Que faire si setcookie php échoue Oct 26, 2022 am 09:07 AM

Solution à l'échec de setcookie php : 1. Ouvrez le fichier PHP correspondant ; 2. Vérifiez si les paramètres du nom de domaine sont standardisés ; 3. Implémentez-le via des variables globales, du code tel que "foreach ($_COOKIE["cookie"] comme $ nom => $valeur) {$nom = htmlspecialchars($nom);$value = htmlspecialchars($value);echo...".

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

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

Que faire si le démarrage du nœud signale une erreur Que faire si le démarrage du nœud signale une erreur Dec 29, 2022 pm 01:55 PM

Solution à l'erreur de démarrage du nœud : 1. Exécutez "node xx.js" directement dans le terminal ; 2. Ajoutez l'élément de démarrage "scripts": {"test": "echo \"Erreur : aucun test spécifié\" && exit 1 » ,"start": "node service.js"}"; 3. Réexécutez "npm start".

Comment utiliser la fonction setcookie pour définir des cookies en PHP Comment utiliser la fonction setcookie pour définir des cookies en PHP Jun 26, 2023 pm 12:00 PM

Dans le développement Web, les cookies sont une technologie très courante qui permet aux applications Web de stocker et d'accéder à des données côté client. En programmation PHP, la configuration des cookies est généralement implémentée à l'aide de la fonction setcookie. La syntaxe de la fonction setcookie est la suivante : boolsetcookie(string$name[,string$value[,int$expire[,string$path[,

Que signifie l'horodatage 0 dans php setcookie ? Que signifie l'horodatage 0 dans php setcookie ? Mar 22, 2023 am 10:38 AM

La fonction setcookie() en PHP est un moyen de définir un cookie sur le navigateur client. Il permet au site Internet d'identifier l'utilisateur grâce à des cookies lors de sa prochaine visite et de lui fournir les services correspondants. setcookie() a plusieurs paramètres, notamment le nom du cookie, la valeur, le délai d'expiration, etc. Lors de la définition du délai d'expiration, il peut être spécifié par horodatage. Cependant, nous constatons parfois que les horodatages sont définis sur 0. Qu'est-ce que cela signifie ?

Comment utiliser la méthode start et la méthode run dans le thread Java Comment utiliser la méthode start et la méthode run dans le thread Java Apr 20, 2023 am 08:58 AM

Méthode start et méthode run La méthode $start()$ est utilisée pour démarrer un thread À ce moment, le thread est dans l'état prêt (exécutable) et n'est pas en cours d'exécution. Une fois la tranche de temps $cpu$ obtenue, le $. La méthode run()$ commence à être exécutée. L'appel direct de la méthode $run()$ appelle uniquement une méthode dans une classe, qui est essentiellement exécutée dans le thread actuel. Par conséquent, cela ne peut être réalisé qu'en utilisant la méthode $start()$ pour appeler $run()$. Méthode véritable multithread. Exemple de code@Slf4j(topic="c.Test4")publicclassTest4{publicstaticvoidmain(Strin

Quelle est la différence entre démarrer et exécuter dans le thread Java Quelle est la différence entre démarrer et exécuter dans le thread 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() ;//Résultat de sortie maintest1.start();//Résultat de sortie Thread-0}}1.startstart consiste à démarrer un

See all articles