我试图抓住相对路径的文件,以创建一个共享链接。从web服务器上的我的httpdocs
文件夹,我的文件是在这里:
jack/single/uploads/folder1/image.jpg
该变种$dir . '/' . $file
给我这样的输出:
uploads/folder1/image.jpg
realpath($dir . '/' . $file
给了我这样的输出:
/home/vhosts/example.com/subdomains/develop3/httpdocs/jack/single/uploads/folder1/image.jpg
我想要实现的是这样的输出:
`http://develop3.example.com/jack/single/uploads/folder1/image.jpg`
我怎样才能做到这一点,这样我可以创建一个共享的链接?
你可以使用preg_replace
上realpath
的输出来取代一切与你的网站的网址,httpdocs
:
echo preg_replace('#^' . preg_quote($_SERVER['DOCUMENT_ROOT']) . '[\\\\/]#', "{$_SERVER['HTTP_HOST']}/", realpath('test6.php')) . "\n";
您可以使用$ _ SERVER [“HTTP_HOST”]让你的网站的名称:
function get_link($to_file){
return "https://".$_SERVER['HTTP_HOST']."/jack/single/".$to_file;
}
echo get_link($dir . '/' . $file);
根据您的项目更改功能的URL部分(你使用https或http?请问/插孔/单总是上传的父文件夹?)