【发布时间】:2018-02-18 23:46:34
【问题描述】:
我有一个名为“main.php”的“主”php 网页,还有一个名为“cmets.php”的包含文件。
在 main.php 中,我使用以下内容获取页面的 url,但我试图在包含的文件 (cmets.php) 中使用 $shareURL 变量,但它不起作用。
Main.php 中的代码
<?php $shareURL = "http://".$_SERVER[\'SERVER_NAME\'] . $_SERVER[\'REQUEST_URI\']; ?>
上面是变量。 以下是包含。
<?php include "$domainName/assets/includes/fbCommentBox.php"; ?>
包含文件中的代码 (comment.php)
<?php echo "<div class='fb-comments' data-href='$shareURL' data-num-posts='5' data-width='100%'></div>"; ?>
如果我在包含的文件中使用上述内容,我会得到包含文件的页面 URL,而不是 main.php 页面。
是否有一种方法可以在 main.php 页面中使用 php 变量,将其值传递到包含的 (cmets.php) 文件中?
项目范围
main.php 代码被放置在另一个用于创建网页的 php 变量的“内部”。我需要<?php $shareURL = "http://".$_SERVER[\'SERVER_NAME\'] . $_SERVER[\'REQUEST_URI\']; ?> 中的\。
示例
<?php
$content = '
<?php $shareURL = "http://".$_SERVER[\'SERVER_NAME\'] . $_SERVER[\'REQUEST_URI\']; ?>
';
?>
【问题讨论】:
-
请说明您如何尝试使用该变量。其实应该没问题的。包含的文件被视为一个文件。
-
@Mr.B,尝试展示更多关于您的代码的信息。也许您的问题没有得到清楚的解释。
-
如果您的问题是关于变量的,请参阅 PHP 手册中的内容:包含文件时,它包含的代码会继承包含发生的行的变量范围。从那时起,调用文件中该行的任何可用变量都将在被调用文件中可用。但是,包含文件中定义的所有函数和类都具有全局范围。
-
好的,我想我明白你想做什么了。您正试图通过将 $shareURL 作为字符串传递来将其声明到另一个 PHP 文件中。并且您期望这个 $shareURL 应该在插入后自动声明。对吗?
-
@Mr.B 为什么不直接声明 $shareURL ?