2012-12-07 35 views
0

包含一个不包含其内容的php文件是否可能?我只想访问该文件中的函数和变量而不显示任何内容。我试过这个包含一个不显示其内容的php文件

<? 
    ob_start(); 
    include('$file'); 
    ob_end_clean(); 
?> 

但是这只会隐藏php标签中的内容。我想知道如何隐藏他人。

回答

2

虽然我完全同意彼得的回答

我只是尝试这样做,因为我从来没有尝试过同意..

文件toinclude.php

<p>Loads of text</p> 
<?php 
    function my_test() 
    { 
     echo 'Hello'; 
    } 
?> 
<a href="doesntmatterwhere.php">Ooh a link</a> 

文件includer.php

<?php 
    ob_start(); 
    include('toinclude.php'); 
    ob_end_clean(); 
    my_test(); 
?> 

它确实有效!

输出:

Hello 
7

如何隐藏?重新设计您的解决方案并分离您的顾虑!不要将逻辑与UI等混合在一起。

也许你应该应用MVC或类似的模式。

+1

+1您_MVC pattern_提示 – jan267

0

不,你不能。

Include是为了执行文件内的所有内容,没有办法阻止执行文件的某些部分。 唯一的方法是编辑包含的文件。

-1

如果您的文件没有打印任何输出您可以尝试eval($fileContent)

+1

公告... _eval是evil_ – jan267

+0

当然,这是。但我们假设他会插入不受用户输入影响的代码;)(或者他会做一个很好的过滤) – Mateusz

+2

它也很慢。除此之外,这个问题表明当前的代码设计很糟糕,所以对于实际的控制流程,eval可能会有非常糟糕的副作用。 –

相关问题