我正在设计一个 Web 应用程序,可以根据最终用户来自的零售地点进行定制。例如,如果用户来自一家名为 Farmer's Market 的商店,则该用户可能会获得特定于该特定商店的定制内容或额外链接。file_exists() 用于确定是否需要导入页面的任何自定义部分。
到目前为止,我们一直在使用一种相对不安全的方法,其中项目 ID# 和商店只是作为 GET 参数传入,系统知道将它们应用于页面中的每个链接。但是,我们正在切换到可逆哈希方法,其中存储和项目编号被加密(看起来像“gd651hd8h41dg0h81”),页面简单地对它们进行解码并分配存储和 ID 变量。
然而,从那以后,我们一直遇到一个错误,谷歌搜索广泛没有找到我的答案。有几个类似的代码块,但它们看起来都像这样:
$buttons_first = "../stores/" . $store . "/buttons_first.php";
if(file_exists($buttons_first))
{
include($buttons_first);
}
(/stores/ 目录实际上位于工作目录之上,因此是 ../)
非常坦率的。但是,尽管在传入常规 ID 和存储时工作正常,但使用加密的 ID 会为每个类似的语句引发此错误:
警告:file_exists() 期望参数 1 是有效路径,第 11 行 [url 已删除] 中给出的字符串
我已经让脚本返回了完整的 URL,并且它似乎正确地分配了 $store。我在 1&1 主机上运行 PHP 5.4.11(因为我知道他们的服务器工作方式有一些异常),如果这有帮助的话。