PHP ob_start не работает - PullRequest
       2

PHP ob_start не работает

1 голос
/ 21 января 2011

Я новичок в PHP и Code Ignitor, столкнувшись с некоторой проблемой при попытке преобразовать динамическое содержимое данных в статический HTML-файл. Это фрагмент кода. когда я запрашиваю файл кода фрагмента, он печатает только ошибку 111111111 и ничего больше. не в состоянии понять, в чем здесь ошибка.

Это мой оригинальный код, и здесь я пытаюсь создать статический HTML-файл с динамическим содержимым. У меня не работает

<?php
    echo "Error 111111111";
    ob_start();
    $fileName = "sample.html";
?>
<html>
<body>
    Some html is here       
</body>
</html>
<?php
    try{ 
           $output = ob_get_contents(); // get contents of trapped output

            //write to file, e.g.
           $newfile = $fileName; 
           $file = fopen ($newfile, "w"); 
           fwrite($file, $output); 
           fclose ($file);  
           ob_end_clean(); // discard trapped output and stop trapping
    }catch (Exception $ex){                
      echo "Error ".$ex->getMessage();
    }      

?>

Ответы [ 2 ]

3 голосов
/ 21 января 2011

Я не вижу ошибки?

ob_start() подавляет весь вывод до вызова ob_flush().Вы не звоните ob_flush(), поэтому ничего после ob_start() не будет выводиться.Это то, что вы видите, и именно так оно и должно работать.

Полагаю, реальный вопрос в том, чего вы пытались достичь?ob_start() не генерирует никаких исключений, но вы поместили его в блок try / catch.Ваш раздел catch никогда не будет вызван, потому что ничто в блоке try никогда не вызовет никаких исключений.

Так что вы пытались сделать здесь?Ответ на этот вопрос может помочь нам дать вам больше советов.

1 голос
/ 21 января 2011

ob_start отмечает, где должен начинаться буферизованный вывод, но AFAIK, вы также должны указать PHP прекратить буферизацию и вывести текущее содержимое: ob_end_flush ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...