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 が Web サーバーの htdocs ルートではなく、サーバー ボックスのルートからの絶対パスを返すためです。$_SERVER["DOCUMENT_ROOT"] から Web サーバーの 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 に答える