Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用URL编写可重用模块的最佳方法?_Php - Fatal编程技术网

Php 用URL编写可重用模块的最佳方法?

Php 用URL编写可重用模块的最佳方法?,php,Php,我正在用PHP编写一个可重用的模块。此模块可以将内容写入任意页面,但它需要引用此模块内脚本的URL。现在,我使用一个硬编码变量,它指向模块的根: $module_root = "http://www.example.com/my_module/"; 有没有办法动态确定我的模块的根URL?1。面向URI的 $_SERVER['REQUEST_URI'] 在您的情况下,它应该包含: /my_module/ 因此,使用: $parts = explode('/', $_SERVER['REQUE

我正在用PHP编写一个可重用的模块。此模块可以将内容写入任意页面,但它需要引用此模块内脚本的URL。现在,我使用一个硬编码变量,它指向模块的根:

$module_root = "http://www.example.com/my_module/";

有没有办法动态确定我的模块的根URL?

1。面向URI的

$_SERVER['REQUEST_URI']
在您的情况下,它应该包含:

/my_module/
因此,使用:

$parts = explode('/', $_SERVER['REQUEST_URI']);
您将在$parts[1]变量中拥有根模块名称

2。面向文件系统

$_SERVER['REQUEST_URI']

您可以使用文件系统路径来确定您所在的位置,即。 moduleMain.php

$module_root = dirname( __FILE__ );
子模块/pluginMain.php

$submodule = mb_substr( dirname( __FILE__ ), mb_strlen($module_root) );

(假设有$module\u root变量可用)

此模块包含在模块外的其他PHP脚本中。因此,它显示任意(包括)脚本的URI,即使我在模块(包括的脚本)中调用变量也是如此;submodule/pluginMain.php$submodule=mb_substr(dirname(文件),mb_strlen($module_root));(假设有$module_根变量可用)对于(2),dirname(文件)显示“C:\Documents and Settings\…”。如何获取$module\u root的URL版本?