【问题标题】:How do I loop and read PHP variables from other pages in my basic PHP website?如何从我的基本 PHP 网站的其他页面循环和读取 PHP 变量?
【发布时间】:2021-12-10 01:15:17
【问题描述】:

我有一个小而简单的网站,里面有一个作品集。投资组合中有五个项目,每个项目都在自己的文件夹中。每个/portfolio/project/index.php 页面的顶部都有一组变量,有点像 YAML 前端,但它只是一组 PHP 变量。

我想在投资组合的/portfolio/index.php 页面上放置一个循环,查看每个项目文件夹,读取索引文件,并自动创建到每个投资组合文件夹的链接(不是文件,只是文件夹,如“@987654323 @") 将页面的$pageLink$pageTitle 放置在锚标记内。

我的想法是,如果我添加另一个项目,我可以将一个新项目文件夹放入投资组合文件夹中,并且由于循环,它将在投资组合页面上显示为链接。

我只是在学习 PHP,我想不通。我已经阅读了有关范围的信息,但我仍然缺少一些东西。我试图保持这个非常简单。

/portfolio/project-1/index.php      
/portfolio/project-2/index.php      
/portfolio/project-3/index.php      
/portfolio/project-4/index.php      
/portfolio/project-5/index.php     

每个/project-x/index.php 页面都有一组变量,如下所示:

<?php
$pageTitle = "Project X";
$pageLink = "/portfolio/project-x/";
?>

/portfolio/index.php 页面上,我尝试了很多东西,但没有得到它。

这是我的一般概念:

<?php
foreach(glob("/portfolio/*/index.php") as $project){
echo "<a href=\"" . $project->$pageLink . "\">" . $project->$pageTitle . "</a>" . "<br>";
}
?>

我设法让它工作了一次,但循环从投资组合页面获取标题并重复它。然后我把它搞砸了,无法回到那个状态。可能有一些我应该阅读的内容,但我不知道要搜索什么。

感谢任何帮助。谢谢。

【问题讨论】:

    标签: php loops variables global-variables


    【解决方案1】:

    您需要先include 文件,然后才能使用其中的变量。请注意,您添加的项目越多,索引页的性能就会下降,但影响可能可以忽略不计。

    <?php
    
    foreach (glob('portfolio/*/index.php') as $file) {
        ob_start();
        include $file;
        ob_end_clean();
        echo '<a href="'.$pageLink.'">'.$pageTitle.'</a><br>' . PHP_EOL;
    }
    

    循环结束后,$pageLink$pageTitle 仍将保存要包含的最后一个文件的值。

    【讨论】:

    • 谢谢。这不起作用,因为它包含项目页面中的所有内容,并显示投资组合页面中的标题标签。我只想从项目中获取变量,而不是显示它们的所有内容。
    • @Dcodes 有一种方法可以忽略输出,检查编辑后的答案,你需要 ob_startob_end_clean 在包含周围。
    • 当我尝试编辑的代码时,什么都没有显示。不过还是谢谢。
    • 嗯,这很奇怪,我的测试脚本运行良好...
    • @Dcodes 我建议尝试不同的方法,您可以在每个项目目录中都有一个 metadata.json 文件,项目索引和完整索引都可以从中读取。
    猜你喜欢
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    相关资源
    最近更新 更多