我有一個文件B590.php,它有很多html代碼和一些php代碼(例如登錄用戶名,用戶的詳細信息)。php在獲取文件內容之前評估代碼
我嘗試使用$html = file_get_content("B590.php");
但隨後$html
將有B90.php的內容爲純文本(含PHP代碼)。
是否有任何方法可以在評估後獲取文件內容? 似乎有很多相關的問題,如this one和this one,但似乎沒有任何明確的答案。
我有一個文件B590.php,它有很多html代碼和一些php代碼(例如登錄用戶名,用戶的詳細信息)。php在獲取文件內容之前評估代碼
我嘗試使用$html = file_get_content("B590.php");
但隨後$html
將有B90.php的內容爲純文本(含PHP代碼)。
是否有任何方法可以在評估後獲取文件內容? 似乎有很多相關的問題,如this one和this one,但似乎沒有任何明確的答案。
function get_include_contents($filename){
if(is_file($filename)){
ob_start();
include $filename;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
return false;
}
$html = get_include_contents("/playbooks/html_pdf/B580.php");
這個答案最初發布#2
您可以使用include()
執行PHP文件和輸出緩衝,以捕捉其輸出:
ob_start();
include('B590.php');
$content = ob_get_clean();
如果使用include
或require
文件的內容將表現爲雖然當前執行的文件包含的該代碼B590.php
文件。如果你想什麼「結果」該文件(即輸出),你可以這樣做:
ob_start();
include('B590.php');
$html = ob_get_clean();
例子:
B590.php
<div><?php echo 'Foobar'; ?></div>
current.php
$stuff = 'do stuff here';
echo $stuff;
include('B590.php');
將輸出:
做的東西在這裏
<格> Foobar的</DIV >
然而,如果current.php看起來是這樣的:
$stuff = 'do stuff here';
echo $stuff;
ob_start();
include('B590.php');
$html = ob_get_clean();
echo 'Some more';
echo $html;
輸出將是:
在這裏做東西
一些更
<格> Foobar的</DIV >
$filename = 'B590.php';
$content = '';
if (php_check_syntax($filename)) {
ob_start();
include($filename);
$content = ob_get_clean();
ob_end_clean();
}
echo $content;
*由於技術原因,此功能已棄用並從PHP中刪除。* – ThiefMaster
從PHP(「5.0。5 \t該功能已從PHP中刪除。 「):http://php.net/manual/en/function.php-check-syntax.php – kwah
要評估結果存儲到一些變量,試試這個:
ob_start();
include("B590.php");
$html = ob_get_clean();
應該'它是'file_get_contents('B590.php');',最後加上's'?可能是一個錯字,但仍然... –