首页
学习
活动
专区
圈层
工具
发布

PHP 输出控制

默认情况下,输出一个字符串到浏览器,经过3个阶段PHP buffer->Tcp buffer->浏览器(IE浏览器有的版本也存在buffer) PHP默认是打开输出缓冲的,在php.ini中可以配置output_buffering...=4096(4kb,一个内存页),设置PHP输出缓冲大小 •flush — 刷新输出缓冲(按我的理解是刷新输出TCP bufer) •ob_clean — 清空(擦掉)输出缓冲区 •ob_end_clean...•ob_get_length — 返回输出缓冲区内容的长度 (PHP 4, PHP 5, PHP 7) ob_start — 打开输出控制缓冲 bool ob_start ([ callback $output_callback...TCP缓冲 sleep(1); } PHP默认开启了一个输出缓冲区,所以先调用ob_end_clean关闭默认的输出缓冲。...sleep(1); } 使用了系统默认的输出缓冲区,此时缓冲区大小为默认的4096个字节,所以必须调用ob_flush刷新输出PHP缓冲内容. 2.输出过程 //PHP默认缓冲区F 1 ob_start

4.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    php执行系统外部命令函数:exec()、passthru()、system()、 shell_exec()

    php提供4种方法执行系统外部命令:exec()、passthru()、system()、 shell_exec() 先检查配置文件php.ini中是否有禁止这是个函数。...,而是返回结果的最后一行,如果你想得到结果你可以使用第二个参数,让其输出到指定的数组,此数组一个记录代表输出的一行,即如果输出结果有20行,则这个数组就有20条记录,所以如果你需要反复输出调用不同系统外部命令的结果...,你最好在输出每一条系统外部命令结果时清空这个数组,以防混乱。...方法四:间隔符号 ` 和shell_exec() shell_exec ( string $cmd ) : string 注:shell_exec() 函数实际上仅是间隔符号 `  操作符的变体。...php header("Content-type:text/html;charset=gb2312"); /** * exec() */ echo " "; $content1 = exec(

    1.9K31

    使用log4j配置不同文件输出不同内容

    今天碰到记录日志,需要根据内容分别输出到不同的文件。...,如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender,然后定义每一个Appender的日志级别、打印形式和日志的输出路径,下面看一个示例吧 log4j输出多个自定义日志文件...%M(%L) - %m%n 不同日志要使用不同的logger(如输出到test1.log的要用logger1.info("abc"))。...为不同的 Appender 设置日志输出级别: 当调试系统时,我们往往注意的只是异常级别的日志输出,但是通常所有级别的输出都是放在一个文件里的,如果日志输出的级别是BUG!?那就慢慢去找吧。...%%: 输出一个"%"字符  %F: 输出日志消息产生时所在的文件名称  %L: 输出代码中的行号  %m: 输出代码中指定的消息,产生的日志具体信息  %n: 输出一个回车换行符,Windows平台为

    3.7K70

    PHP基础语法使用,用PHP输出hello world。

    PHP和MSYQL都安装成功之后我们就可以了解一下PHP的语法环境,了解了语法环境之后就可以使用PHP啦。   php是一种网络开发语言,能实现大部分基于网络的软件开发。...下面来说一下PHP的基础语法(看图): ? 即然是PHP语言,我们要创建的文件当然需要以 .php为扩展名,在你的WEB目录下面新建一个文本文档,把它改名为 1.php,第一步就大功告成了。 ?...接下来我们用PHP来实现程序员学习过程中必然要走的第一步 输出hello world! 这时候就需要了解一下PHP的自有API 输出函数 echo(); ?...本稿内容里面只讲输出,具体语法格式会在后面具体讲解,你只要在你的代码 开始和结束的中间写上 echo "hello world!"。然后在IIS里面浏览运行文件。 ?...这时候就要恭喜你,已经可以写PHP程序,是一个PHP程序员了。接下来的工作就是去了解一下PHP的自有API,并实际使用一下。

    4K20

    PHP中的输出缓冲控制

    PHP中的输出缓冲控制 在 PHP 中,我们直接进行 echo 、 或者 print_r 的时候,输出的内容就会直接打印出来。...ob_start(); echo 111, PHP_EOL; echo "aaaa", PHP_EOL; ob_end_clean(); 相信有不少小伙伴应该见过 ob_start() 这个函数,它的作用就是开始一段输出缓冲控制...获得输出缓冲区的内容 ob_start(); echo 111, PHP_EOL; echo "aaaa", PHP_EOL; $v = ob_get_contents(); ob_end_clean(...刷新(输出)缓冲区内容 ob_start(); echo 111, PHP_EOL; echo "aaaa", PHP_EOL; flush(); ob_flush(); 类似的,我们在缓冲区中想要再次直接输出内容...另外,还有一些其他的场景也会用到输出缓冲控制: 1.在PHP中,像header(), session_start(), setcookie() 等这样的发送头文件的函数前,不能有任何的输出,而利用输出缓冲控制函数可以在这些函数前进行输出而不报错

    7.7K30

    mac下载切换不同PHP版本

    1.问题:生成验证码不可用,缺少freetype 2.原环境:nginx + mac自带php 3.下载php7.2 下载命令: curl -s http://php-osx.liip.ch/install.sh...| bash -s 7.2 复制代码 下载成功 这个命令把PHP安装到了 /usr/local/php5目录下,是一个单独的目录,所以,不会影响到原先的PHP,这2个版本是共存的。...完全不会影响到目前的PHP版本。 4.查看PHP版本 这个时候,你在终端中输入php -v 显示的还是老的版本,如果你想用新的版本的php。...可以这样/usr/local/php5/bin/php -v,这样很麻烦,可以将这个新的PHP路径追加到$path中。 vi ~/.bash_profile //有就编辑,没有就新建一个这个文件名。.../php5 sudo cp -R php5-7.2.21-20190811-210031 php5 php -v php-fpm -v sudo killall php-fpm sudo php-fpm

    2K10

    mac 安装并切换不同版本 php

    默认情况下,macos已经内置了php,但并不好用,如果我们想给php加上扩展,无从下手,不知在哪里找相应的源码 brew安装不同版本php 用brew安装其他php版本 brew搜索到的php版本并不多...连 php@7.1 都已经不在 brew 默认源中了 $ brew search php 一些僵而不死的老项目,只能在旧版本的php上才能跑起来,即使心中有再多的不愿意,也要安装: 表面笑嘻嘻,内心mmp...如果想将某个版本的 php 指定为命令行的默认版本,按如下操作: $ brew link php@7.2 --force Linking /usr/local/Cellar/php@7.2/7.2.15...PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> ~/.zshrc $ vim ~/.zshrc $ source ~/.zshrc $ php -v PHP...不同项目对php版本的要求不同,如果每次都要执行 brew services 对版本进行切换就太麻烦了,可以通过修改不同版本php监听的端口实现多个版本同时工作 以修改7.2版本的端口为例: $ vim

    4.5K20

    php执行系统外部命令

    提供4种方法: - exec()、passthru()、system()、 shell_exec()。 在开始介绍前,先检查下php配置文件php.ini中是有禁止这是个函数。...[1] => test.php) 知识点: exec 执行系统外部命令时不会输出结果,而是返回结果的最后一行,如果你想得到结果你可以使用第二个参数,让其输出到指定的数组,此数组一个记录代表输出的一行,...即如果输出结果有20行,则这个数组就有20条记录,所以如果你需要反复输出调用不同系统外部命令的结果,你最好在输出每一条系统外部命令结果时清空这个数组,以防混乱。...> 执行结果: index.phptest.php 知识点: passthru与system的区别,passthru直接将结果输出到浏览器,不需要使用 echo 或 return 来查看结果,不返回任何值...方法四:反撇号`和shell_exec() shell_exec() 函数实际上仅是反撇号 (`) 操作符的变体 代码: php echo `pwd`; ?

    1.8K20
    领券