草庐IT

ob_end_flush

全部标签

php - 奇怪的 ob_start() 行为 - 双输出

ob_start()似乎没有停止任何输出,所以当我刷新缓冲区时它会加倍";echoob_get_flush();?>输出Text.....Text.....但我很期待Text.....有什么想法吗?谢谢 最佳答案 去掉最后一行的回显。ob_get_flush()隐式打印存储的输出并返回它,因此您打印了两次。您可能将ob_get_flush()与ob_get_clean()混淆了 关于php-奇怪的ob_start()行为-双输出,我们在StackOverflow上找到一个类似的问题:

php - 在 ob_start() 中使用 include()

这里需要一些PHP帮助,包含的内容显示为“1”,这意味着它是真实的,但需要它的内容才能显示,我不确定为什么不是。这是一个函数的简化版本:publicfunctioncontent{$website->content='Somecontenthere.';ob_start();include('myfile.php');$file_content=ob_end_clean();$website->content.=$file_content;$website->content.='Somemorecontenthere.';echo$website->content;}这个输出:Some

PHP:<<< 与 ob_start

在PHP中,有时我会看到这个:$html=HelloworldHTML;通常我会使用ob_start():ob_start();?>Helloworld你能告诉我这两种写入缓冲区的方式有什么区别和优势吗? 最佳答案 $html=HelloworldHTML;//equivalent:$html="Helloworld";这使用了PHPstringHeredocsyntax,这是一种编写字符串的语法,类似于使用单引号和双引号,但以某种不同的方式转义。您可以使用{}直接向其中插入一些PHP字符串。Helloworld这是完全不同的事情。

php - PHP 中相当于 Ruby 的 `__END__` 或 Perl 的 `__DATA__` 的构造

我在命令行中使用PHP,并尝试将数据嵌入到源代码文件中。我可以在Ruby中使用__END__构造,在Perl中使用__DATA__构造,但我似乎无法找到在PHP中执行此操作的方法。目标是能够在PHP文件中嵌入数据,然后在执行过程中,将数据读入数组进行处理。我怎样才能在PHP中做到这一点?由于数据和文件执行的设置方式,将数据包含在单独的文件中并不是一个好的选择。 最佳答案 您可以使用__halt_compiler()顾名思义,其目的是为了将数据嵌入文件的其余部分而准确地停止编译器。一个基本的例子是:正如人们所期望的那样,输出是hell

php - PHP的ob_start可以多次调用吗?

PHP的ob_start可以多次调用吗?对不起,如果这是一个愚蠢的问题,但我真的不知道。我的网站真的很大(文件数量),它是一个社交网络,其中一个包含的文件使用ob_startPHP的输出缓冲区来做某事,我不确定很久以前其他人开始了我的网站,现在它是我的了我需要更多地研究它以了解它到底在做什么。无论如何,我想使用ob_start("ob_gzhandler");压缩CSS文件,我网站上的所有文件都通过索引文件加载(包括),所以我想知道我是否能够使用它,即使它已经在代码中的其他地方使用? 最佳答案 是的,你可以多次调用它。但是,它每次都

PHP "unexpected $end"

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。我实际上检查了我的代码一百次,但我找不到错误:我得到的错误:解析错误:语法错误,意外的$endin/home/tennox/public_html/php/kalender.phponline46我试图做一个计算复活节星期天的函数,在没有其他所有脚本的另一个脚本中它可以正常工作,但在这个脚本中不行。反之亦然!">";for($x=1;$x";$date=

PHP flush 在 IIS7.5 中停止刷新

我们一直在使用phpflush在点击页面时立即“空白”,并发送页面的导航和主要组件,以便页面几乎立即出现,即使有时内容可能需要加载时间很长。这一直运作良好。最近我们从IIS7.0升级到7.5,现在刷新不起作用。在调查该问题时,我们已关闭静态和动态文件的压缩。我们还关闭了输出缓存。我们还在php.ini中关闭了zlib压缩和输出缓冲。为了测试问题,我们有以下脚本@ini_set("output_buffering","Off");@ini_set('implicit_flush',1);@ini_set('zlib.output_compression',0);ob_start();ec

php - flush() 在 Firefox 4 中不起作用

我注意到phpflush();在Firefox4beta7中不起作用,因为它在3.6.12中起作用。我最近安装了firefox4beta7,调用flush()时内容没有立即刷新。它曾经在3.6.12中运行良好。还有什么可以为我提供冲洗功能的吗?我试过了flush();@ob_flush();我还在页面顶部尝试了以下代码。@apache_setenv('no-gzip',1);@ini_set('zlib.output_compression',0);@ini_set('implicit_flush',1);for($i=0;$i顺便说一下,我在XAMPP/Apache上使用php。谢谢

php - 对于 php flush - 如何禁用特定文件的 gzip?

我有一个对somefile.php的ajax调用。我希望php脚本执行一个简单的任务,而不是将数据发回给用户,而不是执行非常耗时的任务。所以我需要在第一个简单任务后刷新输出。它不起作用,可能是因为我启用了gzip。我绝对不想在所有虚拟主机上禁用gzip,也不想在somefile.php所在的所有文件夹中禁用gzip。我只想为这个特定文件禁用它。这可能吗?编辑:这是我在我的apacheconf中包含的内容:SetEnvno-gzip1这是我的php脚本:这是行不通的。10秒后我仍然看到所有输出。 最佳答案 我一直在寻找同一问题的解决方

php - die() 是否执行 ob_end_flush()?

我似乎无法在任何地方找到一个好的答案。如果我正在运行输出缓冲,并且die()被触发,那是否也会启动ob_end_flush()? 最佳答案 是的。任何时候脚本正常结束,缓冲区都将被清空。唯一的非优雅结局是它是否出现段错误或是否被杀死(信号9SIG_KILL)。die()对进程进行硬杀的唯一地方是如果您在register_shutdown_function内部调用它(但是在调用关闭函数之前会刷新缓冲区,所以那里没有问题)。参见ConnectionHandling了解更多信息... 关于ph