调用wwwroot文件夹外的PHP文件(Windows主机,Arvixe)


Call PHP file outside wwwroot folder (Windows host, Arvixe)

快速解决方案(感谢下面Tom的回答,请阅读他的完整解释):在webroot目录中创建一个新的php文件;比方说temp.php。从那里,使用include或request来调用webroot之外的test.php文件
index.html->temp.php->test.php
-我使用javascript来访问temp.php,但是href也可以使用
-在temp.php中,我使用了:include dirname(__FILE__).'//test.php’
-仅此而已,test.php不能通过URL直接访问。如果你想从外部转到webroot内部的文件,可以使用类似于:header("location:".dirname(__file__).'/../wwwroot/index.php');请参阅:http://stackoverflow.com/questions/13550471/php-include-file-in-webroot-from-file-outside-webroot,在哪里我找到了FILE/DIR填充

原始问题:
我有一个在Arvixe上托管的网站(Windows主机,而不是Linux)
在我的域目录中,我有一个test.php文件和wwwroot文件夹
在wwwroot文件夹中,我有一个index.html文件

从index.html文件中,我只想要一个简单的链接/按钮来调用test.php文件。我不想让用户直接通过URL访问php文件(这就是我把它放在根目录之外的原因),但我希望像index.html这样的其他文件可以访问它。我尝试过web.config和.user.ini之类的东西来提高安全性(但都不起作用),但如果这有效,那么安全性应该没问题。

  • 我尝试过href="../test.php",但它不起作用(404-找不到文件或目录)
  • test.php的权限与wwwroot相同(通过cp门户)
  • 我不想包含php文件,我想单独调用并运行它
  • 两天来,我查看了stackoverflow上的所有相关帖子,但似乎都不起作用
  • 如果您的建议是使用文件的完整路径或创建虚拟目录,请提供一个示例。因为我两次都试过了,但都没有成功
  • 我还读到您需要php脚本来访问根目录之外的php文件,但不知道如何调用外部文件。我试过一次,但出现了404异常。如果能用就好了

有人有一个简单的方法来实现这一点吗?(尤其是使用Windows Arvixe主机的用户)。我觉得这里应该有一个简单的答案):谢谢你读到这里,非常感谢你的任何建议

某些PHP脚本必须可以在web上访问。如果您不希望您的主PHP脚本是可web访问的,那么您仍然需要另一个可web访问PHP脚本来调用主脚本。除非你引入像SSI这样的附加技术,否则没有办法解决这个问题。

无论你是否使用Windows来满足你的要求,这都没有什么区别。

相关文章: