1
<?php
    $server = $_SERVER["SERVER_NAME"];
    $pathpath = realpath("../../files/uploaded_file.jpg");
    echo "You can link to the file using the following link... $server$pathpath";
?>

不幸的是,这会产生以下...

www.example.com/home/fhlinux123/g/example.com/user/htdocs/ninja/base/files/1.doc

而我所追求的是如下......

www.example.com/files/uploaded_file.jpg

我不能假设文件夹“文件”总是在同一个目录中。

4

1 回答 1

2

那是因为 realpath 从服务器框根目录返回绝对路径,而不是网络服务器 htdocs 根目录。您可以从 $_SERVER["DOCUMENT_ROOT"] 检索网络服务器 htdocs 根目录,然后从 realpath 返回的结果的开头删除它

快速而肮脏的例子:

$server = $_SERVER["SERVER_NAME"]; 
$pathpath = realpath("../../files/uploaded_file.jpg"); 
$serverPath = $_SERVER["DOCUMENT_ROOT"];
$pathpath = substr($pathpath,strlen($serverPath));

echo "You can link to the file using the following link... $server$pathpath"; 
于 2010-07-12T13:40:16.683 回答