1

目前我有多个选择标签,它们具有几乎相同的选项选择,我现在所做的是使用 file_get_contents 来获取选项标签的值并将它们分配给选择标签。但是我想创建一种更有效的方法来执行此操作,因为当我尝试在文件中为 file_get_contents 添加一个 if 条件以过滤掉一些额外的选项标记时,这些选项标记应该只对某些选择标记可用,但它不起作用。所以我想知道最好的方法是什么?

基本上我使用 file_get_contents 来获取包含基本选项标签的文件并将它们分配给选择标签。

谢谢-魔术师

一些代码:

一些.php

<option>1</option>
<option>2</option>
... you get the picture

对于其他文件.php

<select>
$hello = file_get_contents("some.php");
echo $hello;
</select>

现在,当我在 some.php 中添加条件时,即

if($right=1) { 这仅适用于本页 }

//这不起作用,而是将其显示给所有选择标签。

4

2 回答 2

2

在我看来,file_get_contents 用于从静态文件(如 txt 文件)中检索数据,将其存储到字符串中并进行进一步处理。

为了实现您想要做的事情,您需要使用该include指令,因为您显然希望第一页中的变量可用于if第二页中的语句

正如手册所述,“当包含一个文件时,它包含的代码继承了包含发生的行的变量范围。调用文件中该行可用的任何变量都将在被调用文件中可用”

于 2012-07-04T20:01:53.820 回答
1

您需要告诉生成选项的文件您想要哪些选项集,并使用查询字符串来执行此操作。

所以,首先有这个:

<!-- basic set of options -->
<select>
 $hello = file_get_contents("some.php?o=basic");
 echo $hello;
</select>

<!-- advanced set of options -->
<select>
 $hello = file_get_contents("some.php?o=advanced");
 echo $hello;
</select>

<!-- ... you get the picture ... -->

然后在 PHP 代码中检查这个查询字符串变量并根据它输出正确的选项:

echo "<option>1</option>"
echo "<option>2</option>"
if ($_GET['o']=="advanced")
{
    echo "<option>3</option>"
    echo "<option>4</option>"
    echo "<option>5</option>"
}
于 2012-07-04T20:01:36.370 回答