Php 你开始不工作了
我不熟悉PHP和CodeIgnitor,在尝试将动态数据内容转换为静态html文件时遇到了一些问题。这是一段代码。当我请求代码段文件时,它只打印错误111111111,而不打印其他内容。无法理解这里的错误是什么 这是我的原始代码,这里我试图生成带有动态内容的静态html文件。这对我不起作用Php 你开始不工作了,php,codeigniter,Php,Codeigniter,我不熟悉PHP和CodeIgnitor,在尝试将动态数据内容转换为静态html文件时遇到了一些问题。这是一段代码。当我请求代码段文件时,它只打印错误111111111,而不打印其他内容。无法理解这里的错误是什么 这是我的原始代码,这里我试图生成带有动态内容的静态html文件。这对我不起作用 <?php echo "Error 111111111"; ob_start(); $fileName = "sample.html"; ?> <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();
}
?>
这里有一些html
我没有看到错误
ob\u start()
抑制所有输出,直到调用ob\u flush()
。您没有调用ob\u flush()
,因此ob\u start()
之后不会输出任何内容。这就是你看到的,这正是它应该工作的方式
我想真正的问题是你想实现什么
代码片段非常混乱,因为ob_start()
不会生成任何异常,但您已将其放入try
/catch
块中。您的catch
部分将永远不会被调用,因为try
块中的任何内容都不会生成任何异常
那你想在这里做什么?这个问题的答案可能会帮助我们为您提供更多指导。我看不出有错误吗
ob\u start()
抑制所有输出,直到调用ob\u flush()
。您没有调用ob\u flush()
,因此ob\u start()
之后不会输出任何内容。这就是你看到的,这正是它应该工作的方式
我想真正的问题是你想实现什么
代码片段非常混乱,因为ob_start()
不会生成任何异常,但您已将其放入try
/catch
块中。您的catch
部分将永远不会被调用,因为try
块中的任何内容都不会生成任何异常
那你想在这里做什么?这个问题的答案可能会帮助我们为您提供更多的指导。ob_start标记缓冲输出应该开始的位置,但您也必须告诉PHP结束缓冲并输出当前内容:ob_start标记缓冲输出应该开始的位置,但是,您还必须告诉PHP结束缓冲并输出当前内容:您希望它打印什么?您希望它打印什么?如果没有这样的错误,那么为什么它不打印echo“error 2222”@Yashwant Chavan-好的,你现在已经完全更改了代码,“22222”只适用于问题的第一个版本。但根据最初的问题,“22222”确实会打印,但由于调用了ob_start,它会存储在输出缓冲区中,而不是提供给浏览器。如果您调用ob_flush,它将被发送到浏览器。然而,您的更新代码是完全不同的:它确实使您更容易看到您实际尝试执行的操作,但我需要编写一个全新的答案来帮助您理解它@Yashwant Chavan-好的,你现在已经完全更改了代码,“22222”只适用于问题的第一个版本。但根据最初的问题,“22222”确实会打印,但由于调用了ob_start,它会存储在输出缓冲区中,而不是提供给浏览器。如果您调用ob_flush,它将被发送到浏览器。然而,您的更新代码是完全不同的:它确实使您更容易看到您实际试图做什么,但我需要编写一个全新的答案来帮助您理解它。