使用根目录外的php文件执行HTML表单操作?
我想知道,有几个文件我保存在根目录之外的另一个目录中,我正在尝试使用HTML表单将信息发布到根目录之外的php文件中使用根目录外的php文件执行HTML表单操作?,php,html,forms,post,include,Php,Html,Forms,Post,Include,我想知道,有几个文件我保存在根目录之外的另一个目录中,我正在尝试使用HTML表单将信息发布到根目录之外的php文件中 可能吗?如果是,如何制作代理脚本。。。web目录中的某些内容,但它所做的只是包含适当的“受保护”文件: DOCROOT/form_handler.php <?php include "../secret/form_handler.php"; 是的,这是可能的。该目录应作为单独的站点托管,然后您可以将文件的绝对URL作为表单操作提供。该文件必须可从web访问。 如果“根目录
可能吗?如果是,如何制作代理脚本。。。web目录中的某些内容,但它所做的只是包含适当的“受保护”文件: DOCROOT/form_handler.php
<?php
include "../secret/form_handler.php";
是的,这是可能的。该目录应作为单独的站点托管,然后您可以将文件的绝对URL作为表单操作提供。该文件必须可从web访问。
如果“根目录之外”指的是DocumentRoot之外,那么这是不可能的
DocumentRoot中可以有一个基本控制器,它包含或分派操作 在我的网站上,我的每个表单都以以下代码开头:
<form action="action" method="post">
<input type="hidden" name="i-action" value="do-whatever" />
我使用了
stru\u replace
,以确保黑客无法进入不同的目录。这不是他的要求。此外,“是的,这是可能的”是最糟糕的回答。当问题包括“这可能吗?”时,如果它在文档根目录中,但不在公共html中,该文件必须从web调用,因此如果可以调用它,例如f.e./onedirunderdocumentroot/form.php,则可以使用它。通常,public_html是document_root,因此它下面的所有内容都可以访问。但我如何使用html表单发布到该文档?@Kalcoder:您需要创建一个从public_html
目录可见的文件,并将表单发布到该目录。要获得webroot之外的文件以执行,唯一的方法是从webroot内部的文件中包含该文件。-或者可以使用一些奇特的Web服务器配置。好的一点@Leigh,这可以通过mod_重写实现(替换可以是文件系统路径)。如果你感兴趣,你应该提交它作为一个答案:-)我需要能够将信息从一个HTML表单post传递到一个php文件,该文件位于与public_HTML相同级别的文件夹中,因此本质上,发布不到public_HTML中的php文件,这是可能的吗?那么mod_rewrite可能是唯一的解决方案,如上所述,从php文件夹中php文件的表单操作映射notphp文件
<form action="action" method="post">
<input type="hidden" name="i-action" value="do-whatever" />
if (!empty($_POST['i-action']))
{
$action = str_replace('.', '', $_POST['i-action']);
$action = str_replace('/', '', $action);
if (file_exists("../secret/directory/structure/$action".'.php'))
require_once("../secret/directory/structure/$action".'.php');
}