gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:56:14 24 4
gpt4 key购买 nike

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

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

我一直在使用 constructor_page.php 来声明和初始化一些变量,例如 $itemName$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 文件(是的,我知道它会递归到自身),获取相关变量并在向左浮动的内部创建一个漂亮的图片/链接,本质上是自动生成部门页面缩略图在其中找到的任何 php 文件上。

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

最佳答案

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

<?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();
?>

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

关于php - 如何在另一个文件的函数中使用一个 PHP 文件中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4001915/

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