php realpath не дает полезного результата - PullRequest
1 голос
/ 12 июля 2010
<?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

Я не могу предположить, что папка 'files' всегда будет в одном каталоге.

1 Ответ

2 голосов
/ 12 июля 2010

Это связано с тем, что realpath возвращает абсолютный путь от корневого каталога сервера, а не от корневого каталога htdocs веб-сервера. Вы можете извлечь корневой каталог htdocs веб-сервера из $ _SERVER ["DOCUMENT_ROOT"], а затем удалить его с начала результата, возвращенного 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"; 
...