gpt4 book ai didi

php - 获取另一个 PHP 文件的内容并使用当前 PHP 文件的变量

转载 作者:可可西里 更新时间:2023-11-01 08:15:22 26 4
gpt4 key购买 nike

我想在我的 PHP 文件 constructor.php 中的另一个 PHP 文件 template.php 的 HTML 字符串中使用一个变量。

我在 Stackoverflow 上搜索了一种解决方法,以包含其他 PHP 文件的内容。我将以下代码包含在 constructor.php 中,因为它比使用 file_get_contents(); 更安全 Source :

function requireToVar($file){
ob_start();
require($file);
return ob_get_clean();
}

constructor.php 的其余部分如下所示:

...
$sqli = mysqli_query($mysqli, "SELECT ...");
if(mysqli_num_rows($sqli) > 0){
$ii = 0;
while ($row = $sqli->fetch_assoc()) {
$ii++;
if($row['dummy']=="Example"){
$content.=requireToVar('template.php');
...

template.php 如下所示:

<?php echo "
<div class='image-wrapper' id='dt-".$row['id']."' style='display: none;'>
...
</div>
"; ?>

constructor.php 无法识别 template.php 字符串中的 var $row['id'] 作为它的自己的变量,也不执行它。该变量绝对适用于 constructor.php 中的其他代码。

如果我在 $content.= 之后将 template.php 的代码复制并粘贴到 constructor.php 中,它的工作就像一个魅力。但我想重组我的 constructor.php,因为它变得越来越大,这样更容易定制。

我不知道如何更准确地描述这个问题,但我希望这个标题适合我的问题。

最佳答案

更新你的函数

function requireToVar($file,$row_id){
ob_start();
require($file);
return ob_get_clean();
}

所以你可以这样调用它

while ($row = $sqli->fetch_assoc()) {
$ii++;
if($row['dummy']=="Example"){
$content.=requireToVar('template.php',$row['id']);

然后像那样在template.php中显示

<div class="image-wrapper" id="dt-<?php echo $row_id; ?>" style="display: none;"></div>

关于php - 获取另一个 PHP 文件的内容并使用当前 PHP 文件的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30325546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com