如何在另一个文件的函数中使用一个 PHP 文件中的变量?

2024-04-17

注意:到目前为止,我已经阅读了大约 25 个与此相关的问题,但从未直接回答“如何正确使用这些变量”的问题。如果听起来像是重复的,我深表歉意。

我正在重写一个扁平化电商网站(全手工制作.htm文件!),以便某些页面是使用 PHP 脚本生成的。这一切只是为了让我现在的生活更轻松。我曾多次告诉我的老板,这个站点需要从轨道上被摧毁,并且正在酝酿一个成熟的 CMS。与此同时,该网站需要进行改造。有问题的网站:http://www.leather.com http://www.leather.com

我一直在使用constructor_page.php声明并初始化一些变量,例如$itemName and $imagePath用于include()内容页面(修剪后的示例如下):

<?php
$imagePath = 'http://leather.com/images/harley_leather_boots/d81024_ladies_harley_leather_boots_360.jpg';
$itemName = 'Faded Glory Harley Boots';
include 'library/content.php'; //this in turn includes more files like the nav bar
?>

这样我就可以保存constructor_page.php作为有问题的项目页面,修改一些变量,然后include()声明会处理其余的事情。这部分工作正常。

我的问题是从同一目录中的文件自动生成“部门”页面。我希望 index.php 在循环中获取相同的变量:

<?php
foreach (glob("*.php") as $filename) {
include $filename;
echo '<div class="related">';
echo '<a href="';
echo $filename; 
echo '">';
echo '<img src="';
echo $imagePath;
echo '" alt="';
echo $imageAlternateText;
echo '" class="frame-related align-left-related"';
echo '></a>';
echo '<a href="';
echo $filename; 
echo '">';
echo $itemName; 
echo '</a>';
echo '</div>';
}
?>

这是为了,对于每个 php 文件(是的,我知道它会递归到自身),获取相关变量并在左侧浮动的 a 中创建一个漂亮的图片/链接,本质上是根据任何 php 自动生成部门页面缩略图它在那里找到的文件。

是的,这太可怕了。是的,这很黑客。不用说,由于变量的范围,它不起作用。我愿意接受这里的建议,因为我所需要的只是部门页面根据在文件夹中找到的内容生成小图片和链接。提前致谢!


你一定还有其他问题。让我演示一下:

<?php // This is index.php
$foo = 'bar';
include('page2.php');
?>


<?php // This is page2.php
include('page3.php');
?>

<?php // This is page3.php
echo $foo;
?>

如果你去index.php,它会显示“bar”。包含的 PHP 脚本继承它们包含的范围。任何时候都不需要使用“全局”语句。但是,如果您的 page3.php 脚本如下所示:

<?php // This is page3.php
function display() {
    echo $foo;
}
display();
?>

这不会显示任何内容,因为现在 $foo 位于 display() 函数的范围内,因此需要像这样重写:

<?php // This is page3.php
function display() {
    global $foo;
    echo $foo;
}
display();
?>

因此,如果您的变量在其他脚本中不可用,那么您一定做错了什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在另一个文件的函数中使用一个 PHP 文件中的变量? 的相关文章

随机推荐