问题标签 [ob-start]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP ob_start 骨架只在第一次工作
我浏览了建议的标题并找到了一些答案,但没有一个真正有效,所以我求助于你......
我有一个函数用于ob_start()
调用一个文件,其中的内容用作骨架。检索到内容后,我使用ob_end_clean()
.
我似乎只从第一次调用该函数时获得输出,之后仅此而已。我已经包含了一个代码转储,以防我做错了什么。
我还包含了从我的数据库调用 ( $dl->select ...
) 返回的内容的示例。我还确保数据确实是从我期望的数据库传回的。
和代码...
任何帮助,将不胜感激。
提前致谢。
php - PHP error_log 函数能否在缓冲区内生成致命错误?
嗯......这是我的情况:我正在开发一个框架,我目前正在开发错误处理功能。我也想处理错误处理错误!好吧......更好地解释:如果我有一个错误,无论是否致命,都会引发异常(在非致命错误的情况下)并伪造 Exception 用于致命错误。异常由“记录器”处理,它可以处理错误在控制台(浏览器)上回显或将其存储在文件中。问题是当记录器内发生第二个致命错误时。为了捕捉它,我使用了 PHP 缓冲区 (ob_start())。在这个函数内部不应该发生错误,任何人......换句话说......这是错误跟踪的最后一级。我可以只回显错误,但我想使用 PHP 错误日志系统注册它们(如果没有达到最后一级则禁用)。这可以使用 error_log 函数来实现。
“成功时返回 TRUE,失败时返回 FALSE。”
嗯……这就是我需要的。但我很害怕,因为我不知道这个函数是否会产生致命错误(内部实现)或者只是返回 TRUE/FALSE。我在 localhost SMTP 中使用邮件选项 (1) 进行了测试,但失败了(正如预期的那样!),生成了一条警告消息。然后缓冲区崩溃在浏览器上显示空白页面(这是我不希望发生的)。这个问题可以通过使用 fsockopen 检查 smtp 连接并将返回值归因于类变量来解决。在缓冲函数内部,这个变量值被验证。如果为 TRUE,则调用带有电子邮件选项的 error_log。但是对于带有选项 0(php 文件日志)和 3(其他文件)的 error_log?
这是我的日志记录类的相关部分:
php - PHP - 嵌套输出缓冲
我的功能有:
现在在这些包含中是另一个使用相同代码的函数,它们似乎有冲突。可以像这样使用它们吗?
php - ob_start /ob_get_clean 通过电子邮件发送 html php 内容/结果
我敢肯定还有其他我不知道的更好的方法——只是尝试采用最简单的方法。将根据需要发布其他代码:
从上一页选择 php 结果:
电子邮件处理.php
php - 人们正在从我的网站下载损坏的 PDF
我目前正在一个我没有亲自开发的网站上工作。它是基于 wordpress 的,但外部人员对其进行了很多开发。
我们有一些pdf的问题。当人们下载这些 pdf 甚至图像时,它们已损坏。我调查了原因,通过用记事本打开文件,我发现网页的 html 位于文档的开头。如果我删除此 html,则 pdf 不再损坏。
我知道问题出在哪里,但我似乎找不到解决方法。这是“下载”按钮的 html 链接。
当我点击这个按钮时,页面被刷新,下载开始。
我在代码中发现了这一行,它应该是负责捕获“GET”的代码的一部分:
这个“如果”中的代码有 100 多行,我没有足够的经验知道该怎么做。我需要一些关于在哪里看的建议。例如,有
一开始,和一个
在代码中间。没有是正常的吗
或类似的东西 ?
或者可能不是来自这个缓冲区。我应该检查什么样的指令?
或者它可能不是来自代码的那部分,如果是这样,我真的迷路了......
无论如何,提前感谢您的回答。
纪尧姆。
php - Ajax 被 Wordpress 警告破坏:通过 ob_start() 解决?
我正在为WordPress
. 我的目标是让它适用于所有人。有些页面使用ajax
响应。一些用户激活了 WP_DEBUG 常量,该常量显示来自主题和其他插件的错误和警告。
这破坏了我的 Ajax PHP,因为我包含了Wordpress
核心,然后 WP 可以在一些博客中显示警告!
我解决这个问题的旧方法是:
然而,一位用户报告了一个非常奇怪的错误:ajax
页面没有响应,只在 Opera 中有效,而谷歌浏览器显示:错误 330 (net::ERR_CONTENT_DECODING_FAILED):
挖掘用户网络服务器,我发现 WP 配置或插件使用 ob_start("ob gzhandler")。
ob_get_status(true) 显示在我的工作网络服务器中:
在错误的网络服务器中:
我的用户网络服务器中的序列是:
- 我的代码调用 ob_start()
- 包括WP核心,WP初始化所有并调用ob_start("ob gzhandler")
- 当我的代码调用 ob_end_clean() 时,它失败了。
我需要一种安全的方法来隐藏 WP 警告,但我无法破坏启用 GZIP 的配置(我怀疑是某些插件)。如果不可能,我更喜欢在警告系统中留下破坏 ajax 并忘记缓冲方法。
我认为一个干净的方法可能是:
但我担心通过 PHP 版本和配置、WP 版本、插件和配置的一些无限组合会破坏某些人。您认为解决这个问题的好方法是什么?
php - 使用ob_start时如何在php中使用标头位置重定向?
什么时候$condition
是真的我明白了:
我想要的是什么时候$condition
是真的然后去谷歌!
我不知道发生了什么,你能解释一下或给我一个解决方案吗!?
谢谢。
php - php - ob_start / fputs 突然不再工作了,有什么可以阻止它的吗?
我的代码:
这是我在本地环境 (MAMP) 中经常使用的功能,用于从 wordpress 中记录内容。它总是有效的。现在它不再起作用了。我试图理解为什么几天但找不到任何解决方案。我不是一个真正高级的 php 程序员,所以也许有一些我不知道和应该的东西.. 任何人都可以帮助我吗?
顺便说一句,function_exists 和 file_exists,我称之为它。
php - PhP 标头和输出缓冲
所以......如果你有一个脚本说明这样的事情......
并且第一个条件失败并将标头发回...如果您在发送标头后不返回false,它会继续运行脚本吗?我有一个问题,如果在我的数据库中找到标题,它将返回错误,但它会继续运行该脚本,从而将重复的标题条目插入到我的数据库中。
再说一遍……即使您发送了标头,脚本是否会继续执行?又名(在这种情况下)重定向?
php - 使用 foreach 循环,我们如何使用 ob_start() 回显数据
我们使用 Jquery Ui 设计了一个进度条。我们需要一个可以提供数值数据的程序。该代码不起作用
PHP代码
PHP 代码用于回显单个项目,它清除现有数据,以便我们的 Ajax 程序可以获取实际的数值数据。
谢谢