有没有办法让PHP停止处理文件并让它只与它已经解析的部分一起工作.我的意思是这样的:
<some data here> <?PHP PHPinfo(); [IS THERE ANY THING I CAN PUT HERE] ?> <more data> [IS THERE ANY THING I CAN PUT HERE] <?HOW CAN I MAKE PHP NOT PARSE THIS?>
另一种解决方案可能是使用
__halt_compiler
:
Halts the execution of the compiler.
This can be useful to embed data in
PHP scripts,like the installation
files.Byte position of the data start can be
determined by the
__COMPILER_HALT_OFFSET__
constant
which is defined only if there is a
__halt_compiler()
presented in the
file.
典型用法是Phar archives,当您需要将PHP和(可能是二进制)数据嵌入到单个文件中时,PHP代码需要能够访问该数据.
实际上有一点不同:这段代码:
blah blah <?PHP PHPinfo(); ?> glop glop <?PHP exit(); ?> <?HOW CAN I MAKE PHP NOT PARSE THIS?>
给我一个Parse错误:语法错误,意外的T_STRING
(可能是因为我启用了short_open_tag
,我想)
这一个:
blah blah <?PHP PHPinfo(); ?> glop glop <?PHP __halt_compiler(); ?> <?HOW CAN I MAKE PHP NOT PARSE THIS?>