예시 코드를 포함하는 페이지가 사이트 루트로부터 2 개의 디렉토리에 있다고 가정합니다.
http://www.example.com/one/two/example-page.php
당신은이 작업을 수행 할 수 있습니다 :
<a href='http://<?php echo htmlentities($_SERVER['SERVER_NAME'], ENT_QUOTES)?>/files/uploaded_file.jpg'>Your Uploaded File</a>
을 그 가정이 잘못하고 파일이, 예를 들어 루트가 아닌 하나 이상의 디렉토리 깊이있는 디렉토리에 저장되어있는 경우
http: //www.example.com/content/files/uploaded_file.jpg
그런 다음 절대 URL을 얻으려면 조금 더 노력해야합니다.
<?php
$FilesystemPath = str_replace("\\", "/", realpath(dirname(__FILE__) . "/../../files/")) . "/uploaded_file.jpg";
$DocRoot = $_SERVER['DOCUMENT_ROOT'];
$Uri = str_replace($DocRoot, '', $FilesystemPath);
?>
<a href='http://<?php echo htmlentities($_SERVER['SERVER_NAME'] . $Uri, ENT_QUOTES)?>'>Your Uploaded File</a>
이 예에서는 파일 디렉토리가 페이지 디렉토리의 두 디렉토리에있는 디렉토리에 있다는 것을 알고 있다고 가정합니다.
이 예제는 모두 파일 시스템에서 디렉토리의 일대일 매핑을 가정하며 계속 URL을 다시 쓰지 않습니다. 또한 나는 당신이 https가 아닌 단순한 http만을 사용하고 있다고 가정하고있다. 페이지가 제공되는 프로토콜과 동일한 프로토콜로 링크를 표시하려면 별도의 질문입니다.