我最近一直在学习php,我发现这个奇怪的陈述,我试图弄清楚,但不太了解它。 这是我找到的URI
<?php
$datei = file("http://www.abc.de/cms/index.php/pps.html");
foreach($datei AS $stellenangebote)
{
echo $stellenangebote;
}
?>
现在我想要了解的问题是它如何到达.html页面,而它之前有.php? 如果这是一种技术,那它的名字是什么?为什么我会使用这种风格?
答案 0 :(得分:0)
这是一个名为PathInfo的Apache事物。如果您设置了AcceptPathInfo,它会被激活,默认情况下通常是这样。然后,您可以通过$_SERVER['PATH_INFO']
访问文件名后的部分。
答案 1 :(得分:0)
此技术用于创建应用程序的单个入口点。 这允许您控制应用程序的流程 - 所有请求都由index.php处理,因此您有一个地方可以加载类,初始化对象等。
大多数现代基于php的网站都将使用这种技术(它是绝大多数现代Web框架中使用的MVC范例的核心),尽管许多人使用Apache mod_rewrite或其他类似的方法隐藏了你的实际index.php文件。网络服务器。
正如fiskfisk所提到的,这可以通过访问请求路径来实现。用于从授权用户的非Web可访问位置加载文件的简单示例:
<?php
$path = $_SERVER['PATH_INFO'];
//if user is authorized, include file from OUTSIDE of webroot
if(isset($_SESSION['auth']) && ($_SESSION['auth'] > 3)){
include '../' . $path;
}else{
die('you are not authorized to see this file');
}
至于这种技术的官方名称,我不确定,但google&#34; php单一入口点&#34;或&#34; php路由索引&#34;应该有所帮助。