On 28 Feb 2008, at 11:52, Stut wrote:
On 28 Feb 2008, at 11:39, Jochem Maas wrote:
I can't seem to manage to buffer output (of an included file) in a CLI script,
the following does not work:


// buffer output so we can avoid the shebang line being output (and strip it from the output we log)
                  $oldIFvalue = ini_set('implicit_flush', false);
                  ob_start();

                  if ([EMAIL PROTECTED] $script) {
                      ob_end_clean();
                  } else {
                      $output = explode("\n", ob_get_clean());
if ($output[0] && preg_match('%^#!\/%', $output[0]))
                          unset($output[0]);
                  }

                  ini_set('implicit_flush', $oldIFvalue);


the reason I'm wanting to do this is, primarily, in order to stop the shebang line that *may*
be present in the included script from being output to stdout.

On my local machine here PHP does not output the shebang line. AFAIK it detects and strips it at the compilation phase. Have you tried it?

Hang on, ignore that. You're including the file, not running it on the CLI.

What do you mean when you say it doesn't work? Do you mean you get no output?

I suggest you remove the @ at the start of the include while developing it. Or alternatively spit something out after you call ob_end_clean so you know it couldn't include the file.

-Stut

--
http://stut.net/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to