我有一个PHP脚本,它可以独立于命令行运行,所以它的第一行是#!/usr/bin/env php
。但是,我也有另一个脚本,它可以自动运行第一个脚本。它通过调用include 'example.php'
来实现这一点,该工作除了将第一行输出为文本外。如何忽略php的第一行include?
如何使包含跳过第一行?到目前为止,我能想到的唯一选择是将整个事件封装在输出缓冲区中,然后修剪第一行,但这有很多问题。替代方法如使用exec()
来模拟从命令行运行第二个脚本,或者阅读整个文件并使用eval()
进行评估,这两个方法看起来都非常糟糕。
有什么办法告诉php,“包含此文件但不输出第一行”?
我知道,只要我需要使用它就可以删除shebang并运行脚本php script.php
,这在这个特定情况下是可以的,但我仍然想知道是否有其他替代方法使包含忽略第一个(或第一个X)行。
是的,这是一个很奇怪的情况,让人想起这个 - 调用脚本实际上是在做一些处理来决定调用哪个子脚本,然后像直接调用它一样激活它,包括所有给它所有的命令行参数/选项,这当然可以通过一个包含的文件访问,就像直接调用它一样。 – Benubird