2009-12-05 88 views
2

我們有一個我們使用的自定義框架,它允許我們將include代碼轉入其他頁面。但是,即使include代碼不輸出任何內容,此代碼的標題也始終打印出來。有沒有一種方法,我可以exitreturn特定的東西,我可以通過include/require陷阱和捕獲,以便我可以做正確的事情?PHP捕獲「空」包括

回答

5

激活輸出緩衝,包括文件,然後檢查其內容:

ob_start(); 
include "file.php"; 
$content = ob_get_contents(); 
ob_end_clean(); 

用於檢查產生的,要麼保持或轉儲它的內容之後。

最良好的祝願, 費邊

3

這可能不是最合適的解決方案,但它是一個很不錯的技巧。您實際上可以使用PHP-includes作爲函數並返回值。

例如。創建一個名爲myinclude.php文件:

<?php 

$a = 9192*9192; 
return a; 

然後創建第二個文件,其中包括第一:

<?php 

$res = include("myinclude.php"); 
echo $res; 

是的,它的實際工作。有關更多詳細信息,請參閱manual page。還要注意,如果include文件中沒有顯式地返回,include()將返回「OK」(奇怪的是)。這適用於require(),include_once()和require_once()。

+0

這是一個有趣的方法,如果我可以給你們兩個正確的答案,我會的,因爲使用@ halfdan的方法與你一起*正是*我所需要的。 謝謝! – 2009-12-05 02:47:13