[英]include file passing a parameter
我正在使用ob_ *函數來構建一些內容,然后將這些內容傳遞到HTML模板並使用MPDF以pdf格式打印。
我需要包括來自另一個PHP文件的一些內容。 我需要包含的文件將運行查詢並根據id參數回顯表中的某些數據。 通常,在我的應用程序中,我使用ajax在正確的位置加載該文件,但是ob_ *函數在AJAX可以處理其內容之前就輸出數據(有關這一點,請參閱我的其他問題 ),因此我正在尋找一種解決方法。 我最好的主意是使用php include來完成技巧。 我腦海中的代碼如下所示:
foreach($listaz as $l){
include "bp/businessplan.php?id=$l";
}
顯然這是行不通的(我知道這個SO問題中提到的include是如何工作的),因為我收到此錯誤:
警告:include(bp / businessplan.php?id = AZ000000213):無法打開流:在第1000行的/var/www/jdev/creditmanager/sofferenze/soff.php中沒有此類文件或目錄
$listaz
將包含要傳遞到文件的參數列表,數組如下所示:
array(
[0]=>AZ000000213
)
(在這種情況下,只有一項)所以問題是: 如何將businessplan.php文件的內容包含在主php文件中,與在主目錄中特定位置打印它的數組中的值一樣多PHP文件(一個接一個地添加到div中)?
嘗試使用__DIR__
常量( http://php.net/manual/zh/language.constants.predefined.php )將絕對路徑添加到文件中,如下所示:
include __DIR__."/bp/businessplan.php?id=$l";
它必須解決您的路徑問題。
return
而不是ob_ *函數。 請在下面查看我的示例: 文件test.php
<?php
$r = '';
for ($i=0;$i<10;$i++) {
$_GET['id'] = $i;
$r .= include 'businessplan.php';
}
echo $r;
文件businessplan.php
<?php
return 'your html here'.$_GET['id'].PHP_EOL;
當我運行test.php時,它顯示以下行:
your html here0
your html here1
your html here2
your html here3
your html here4
your html here5
your html here6
your html here7
your html here8
your html here9
希望對您有所幫助
編輯1
?id=$l
並將其傳遞給$_GET
數組,如我上面建議的那樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.