저는 PHP를 처음 사용하기 때문에 이것은 매우 간단한 질문입니다. 두 폴더가 있다고 가정 해 봅시다 : FolderA와 FolderB. FolderA 내에 PHP 파일이 있습니다. FolderB 내에 인증서가 있습니다. PHP 파일의 인증서에 상대 경로를 삽입하려면이 경로가 ../FolderB/Certificate.pem
입니까?간단한 PHP 경로 질문
도움 주셔서 감사합니다.
저는 PHP를 처음 사용하기 때문에 이것은 매우 간단한 질문입니다. 두 폴더가 있다고 가정 해 봅시다 : FolderA와 FolderB. FolderA 내에 PHP 파일이 있습니다. FolderB 내에 인증서가 있습니다. PHP 파일의 인증서에 상대 경로를 삽입하려면이 경로가 ../FolderB/Certificate.pem
입니까?간단한 PHP 경로 질문
도움 주셔서 감사합니다.
귀하의 솔루션은 완전히 FolderA
에있는 파일이 "포함 트리"의 맨 위에 있는지 여부에 따라 다릅니다.
더 나은 솔루션은 절대 경로가 더 나은 이유
// FolderA/file.php
// PHP 5.3 only
$path = realpath(__DIR__ . '/../FolderB/Certificate.pem');
// or if stuck with PHP 5.2 or earlier
$path = dirname(dirname(__FILE__)) . '/FolderB/Certificate.pem';
는 설명하기 위해 절대 경로를, 예를 들어, 사용하는 것,이
// FolderA/file.php
$path = '../FolderB/Certificate.pem';
// some-other-file-in-the-root-directory.php
include 'FolderA/file.php';
// $path is now incorrect as it points to
// ROOT . '../FolderB/Certificate.pem'
이 참 좋습니다. 당신이 set_include_path()에서 자신을 다음 예는 올바른 것입니다 관여하지 않는
/* FolderA/test.php: */
var_dump(is_file('../FolderB/Certificate.pem'));
!
죄송합니다. 상대 경로를 의미했지만 솔루션은 첫 번째 슬래시없이 작동했습니다. PHP에서 다른 점이 없는지 확인하고 싶었습니다. 당신의 도움을 주셔서 감사합니다!! –
이 특별한 경우 절대 경로가 더 좋은 이유는 무엇입니까? – sanmai
@sanmai 다른 곳에서'FolderA/file.php'를 포함하면 경로의 상대성이 바뀝니다. 절대 경로를 사용하면 정확성이 보장됩니다. – Phil