我自己正在寻找一种方法来做到这一点,并想出了这个方法:
<?php
$script_name = $_SERVER['SCRIPT_NAME']; // to get www.myurl.com
// create a constant out of the server_name
define('HTTP_HOST', $_SERVER['HTTP_HOST'].'/');
$path_parts = pathinfo($script_name); // returns an array with path names
// get the filename with the extension
$file_name = $path_parts['filename'] . '.' . $path_parts['extension'];
// get the directory which the script lives in
$dir = rtrim($script_name, $file_name);
// trim of the left slash since it was added on the end of the HTTP_HOST constant
$dir = ltrim($dir, '/');
// store the server name and directory paths in a variable
$dir = HTTP_HOST.$dir;
echo $dir; // will return f.ex. "www.myurl.com/dir1/dir2/dir3/"
假设我有一个名为“testfile.php”的文件,它位于“”的目录“dir3”下www.myurl.com/dir1/dir2/dir3
,因此完整的 url 将是“ www.myurl.com/dir1/dir2/dir3/testfile.php
”。
如果我在我的路径文件中为 URL 加上完整目录路径声明一个常量,或者我在我的索引文件 f.ex 中包含的一些配置文件,并在 testfile.php 中调用该常量 end echo 它。它会回显“ www.myurl.com/dir1/dir2/dir3/
”。
我的问题是,这种方法是否可以接受,或者是否有更好的方法来实现具有给定文件的目录路径的 URL?
谢谢你。