在PHP中从文件绝对路径获取绝对URL
我有一个功能,检查是否存在CSS/JS。。。文件,然后返回整个在PHP中从文件绝对路径获取绝对URL,php,url,uri,html-head,Php,Url,Uri,Html Head,我有一个功能,检查是否存在CSS/JS。。。文件,然后返回整个或标记等 在返回之前,它会按绝对路径检查该文件是否存在。file\u exists()。 在此之后,我希望获得此文件的绝对URL,即使请求类似于domain.com/abc/def,也要加载。有没有办法让它在任何地方都能工作(请求都发送到index.php) 我受到Wordpress“排队”的启发,但WP在数据库中保存了URL,这是我不想要的 我非常感谢您的帮助在您的帮助下,我找到了解决方案; 我意识到所有请求都被重定向到index.
或
标记等在返回之前,它会按绝对路径检查该文件是否存在。
file\u exists()
。在此之后,我希望获得此文件的绝对URL,即使请求类似于
domain.com/abc/def
,也要加载。有没有办法让它在任何地方都能工作(请求都发送到index.php)
我受到Wordpress“排队”的启发,但WP在数据库中保存了URL,这是我不想要的
我非常感谢您的帮助在您的帮助下,我找到了解决方案; 我意识到所有请求都被重定向到index.php(如果不是文件),所以我可以使用DOCUMENT_ROOT。我只需要从windows路径中修复,因为使用了WAMP。我已经添加了协议,URL已经完成
/**
* Returns absolute URL of given path
* @param type $path
* @return type
*/
function absuri($path){
//for Windows servers (at the moment I use WAMP, i have Debian on my computer)
$path = str_replace( '\\', '/', $path );
return ( ( isset($_SERVER['HTTPS']) ) ? 'https://' : 'http://' ) . str_replace( $_SERVER['DOCUMENT_ROOT'] , $_SERVER['SERVER_NAME'] . '/' , $path);
}
您知道网站的根路径,因此您只需将其从开始处切断,就可以获得URL的绝对路径。如果文件位于同一文件系统中,您是否尝试使用realpath函数将绝对路径转换为相对路径?您可以使用
string\u replase($basePath,$domen,$filePath)
其中$basePath例如/var/www/project/和$domen you bseUrl例如.com等等@SamiKuhmonen:Root path是apache virtualhost的根目录,如果我在一个类似/domains/a.a/domains/b.b/的目录上有更多的域,我该怎么办