初步大纲
我正在使用 php 为我正在处理的项目编写自定义文件服务工具。到目前为止,该工具运行良好,但我在提供 php 文件时遇到了一个奇怪的情况。
我的初始文件 server.php 旨在接受文件请求并为文件提供正确的标题和缓存控制等。
Server.php 使用文件命令来获取平面文件(如图像)的内容,并为它们提供回显打印样式。
Server.php 当前使用包含(带有输出缓冲)来获取要服务的 php 文件的内容。在包含文件包含 die 命令之前,此方法运行良好。
我已经尝试使用 return 而不是 die 来终止进程。但是,如果包含的文件包含更多文件,则它无法执行 die 的工作。
所以简而言之,我有一个 PHP 文件“server.php”,其中包括另一个 php 文件。我想得到它的处理输出,就好像它是一个独立的平面文件一样。我不关心被移动到全局范围的变量,我只想要输出。有任何想法吗?
多谢你们
编辑
服务器.php
<?php
echo 'File start'."<br>\n";
ob_start();
include("file.php");
echo ob_get_clean();
echo 'File end'."<br>\n";
?>
文件.php
<?php
echo 'I am expecting to get this data.'."<br>\n";
die;
echo 'I am not expecting to get this data.'."<br>\n";
?>
我希望得到一个大致看起来像的结果。
文件开始
我希望得到这些数据。
文件结束
我得到的是一个看起来像的结果。
文件开始
我希望得到这些数据。
如果我使用 return 而不是 die,我会得到预期的结果。但这并不能阻止人们使用 die 并破坏我的程序。希望我的编辑能更好地解释问题。再次干杯,伙计们。