我在共享主机上,无权访问 php.ini 或 apache 配置文件。我有存储在 webroot 之外的 PHP 类文件,我需要使用 HTML 访问这些文件,我知道
<form action="../../classes/someclass.php" method="post">
不管用。
我必须编写什么样的 PHP 脚本才能访问这些文件?
我在共享主机上,无权访问 php.ini 或 apache 配置文件。我有存储在 webroot 之外的 PHP 类文件,我需要使用 HTML 访问这些文件,我知道
<form action="../../classes/someclass.php" method="post">
不管用。
我必须编写什么样的 PHP 脚本才能访问这些文件?
您需要编写一个可访问的控制器或代理,并将请求路由到所需的类。
/someclassproxy.php
在该脚本中,您将拥有:
require '../../classes/someclass.php';
但是,让内部类直接处理请求并不常见。相反,控制器应该使用该类来处理请求。
您不能 POST 到嵌套文件,但可以访问指定共享目录中的文件。
因此,假设您可以访问home/var/www/
或类似的东西。并且无法访问 www 以上。
您可能会将您的网站放在该级别的目录中,因此您的网站将位于
home/var/www/yoursite
现在,假设您在 www 文件夹中有一个名为 config.php 的文件。假设您在 yoursite 文件夹中还有一个名为 post.php 的文件。
post.php 可以很容易地包含 config.php:
<?php
include('../config.php');
?>
但显然您不能发布到 config.php,因为它位于站点指定目录的上方。
然而 -
我不认为这对你来说是新闻。我不确定我是否 100% 理解您的问题,因为您似乎知道得足以知道您可以使用 include 访问文件...
也许我只是不明白你的问题。随意澄清比你认为你已经拥有的更多。或者至少解释一下为什么你不能使用基本的包含