我正在使用 MySite/Topics/index.php 上的静态页面,该页面通过 PHP 和 MySQL 显示动态页面。我想创建两个并行的动态页面系列(URL 和 URL2),它们显示来自三个可能位置的内容。
1) 默认情况下,每个动态页面(例如 MySite/Topics/Ecology)显示存储在数据库表中的内容(如果数据库表中没有任何内容,则该页面根本不显示任何内容)。
2) 我创建了一系列带有 URL 的“影子页面”,例如 MySite/Topics/Ecology2,它们显示存储在同名文本文件中的内容,其中“2”被剥离(例如 Ecology.php)。这些页面对于我仍在处理的文章或存储笔记很有用。
3)如果静态页面不存在,那么我想默认到一个不同的页面,比如 Workshop.php。URL 将是相同的 - MySite/Topics/Whatever - 但不是显示来自 Whatever.php 的内容(在这种情况下不存在),而是显示来自 Workshop.php 的内容。
那么确定文件是否不存在并链接到不同文件的最佳方法是什么?
有两种可能的解决方案浮现在脑海中,虽然我真的不知道如何实现任何一个......
1)我要显示的静态页面的名称(例如生态)将始终与数据库表中的值匹配,字段 URL。因此,如果我的数据库表的值为“Migration”,它将尝试包含一个名为 Migration.php 的文件。所以也许有某种解决方案可以将数据库值与文件名匹配。
2) 如果我在 require 命令中包含一个文件,但该文件不存在,它会显示错误并终止我的页面。有没有办法用命令替换该错误以链接到不同的文件?
这是我的一个包含脚本的示例,其中 $MySite = 网站名称,$Section = 部分(例如主题)。
require_once($BaseINC."/inc/D/$MySite/$Section/$URL.php");
谢谢。