我想从php文件中获取相对路径,而不知道绝对路径。我已经成功地做到了这一点,但原因我不知道,在一些服务器上(在极少数情况下),当我将css/js排队时,它不起作用。缺少斜杠。。。
代码如下:
define(\'PATH\', trailingslashit(str_replace(\'\\\\\', \'/\', dirname(__FILE__))));
define(\'URI\', site_url(str_replace(trailingslashit(str_replace(\'\\\\\', \'/\',ABSPATH)), \'\', PATH)))
我错过了什么?它是来自服务器还是代码本身?
SO网友:jgraup
function get_url_from_path ($path) {
// clean paths
$dir_path = str_replace( \'\\\\\', \'/\', $path ) ); // file or directory
$site_dir = trailingslashit( str_replace( \'\\\\\', \'/\', ABSPATH ) ); // path set in wp-config
// remove server directory from path
$file_rel = str_replace( $site_dir, \'\', $dir_path );
// convert relative url to absolute url
$dir_rel_url = site_url ($file_rel, \'http\' );
// return
return $dir_rel_url;
}
// __FILE__ and __DIR__ are referencing the php calling these functions
echo get_url_from_path (__FILE__);
echo trailingslashit( get_url_from_path (__DIR__) );