2012-12-07 71 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可能會有非常糟糕的副作用。 –

相關問題