有没有办法使用PHP动态查找用户的cgi-bin
路径并将文件写入其中?
例如,我想编写一个PHP应用程序,它也使用Perl脚本来获得额外的功能(没有它就不会破坏),并且在第一次运行时我想获得cgi-bin
的路径或者用户的路径目录已命名,并将脚本写入目录,以便应用程序可以调用它,只需要用户进行最少的安装(即将应用程序上载到目录,然后运行index.php
)。
这可能吗?或者我的梦想远远超出了我的实际目的?
我看到的最简单的解决方案是使用正则表达式从用户的根目录开始检查名为/cgi/
的目录,但是,这似乎不是一个完全可靠的方法< / em>的
答案 0 :(得分:1)
__FILE__
在Perl和PHP下为您提供当前执行文件的名称。
答案 1 :(得分:0)
没有理智的方式。
服务器可以配置为在零个,一个或多个不同的位置执行CGI程序,其中没有一个必须在名称中包含“cgi”。
您可以尝试解析服务器配置以识别以这种方式设置的位置(如果有),但是您必须为每个服务器编写单独的解析器,并且每个服务器都非常复杂。即使您将内容限制为Apache,您也必须处理基于虚拟主机的过滤,<file>
,<directory>
,<location>
,ScriptAlias
,.htaccess
等等。