폴더 구조는 다음과 같습니다.
mydomain.example
->Folder-A
->Folder-B
Database에서 다음 문자열은 다음과 같습니다.../Folder-B/image1.jpg
의 이미지를 가리키고 있습니다.Folder-B
.
의 스크립트 내부Folder-A
, 사용하고 있습니다.dirname(__FILE__)
파일명을 가져오면mydomain.example/Folder-A
이 스크립트 안에, 나는 다음과 같은 문자열이 필요합니다.'mydomain.example/Folder-B/image1.jpg
.나는 노력했다.
$path=dirname(__FILE__).'/'.'../Folder-B/image1.jpg';
이것은 로 표시됩니다.mydomain.com%2FFolder-A%2F..%2FFolder-B%2Fimage1.jpg
이것은 Facebook 공유 버튼용이며 올바른 이미지를 가져오지 못합니다.길을 제대로 잡을 줄 아는 사람?
다음 URL을 알고 싶습니다.mydomain.example%2FFolder-B%2Fimage1.jpg
질문에 대한 답변
PHP < 5.3의 경우:
$upOne = realpath(dirname(__FILE__) . '/..');
PHP 5.3~5.6에서는 다음을 사용합니다.
$upOne = realpath(__DIR__ . '/..');
PHP > = 7.0에서 다음을 사용합니다.
$upOne = dirname(__DIR__, 1);
만약 당신이 php 7.0+를 가지고 있다면 당신은 레벨을 사용할 수 있습니다.
dirname( __FILE__, 2 )
두 번째 매개변수를 사용하여 되돌아가려는 레벨의 양을 정의할 수 있습니다.
http://php.net/manual/en/function.dirname.php
이거 드셔보세요
dirname(dirname( __ FILE__))
편집: 올바른 구문이 아니므로 “./”를 제거했습니다.그게 없으면, 완벽하게 작동합니다.
PHP의 dirname 함수를 사용할 수 있습니다. <?php echo dirname(__DIR__); ?>
. 그러면 의 부모 디렉토리의 이름이 나타납니다.__DIR__
현재 디렉토리를 저장합니다.
dirname(__DIR__,level); dirname(__DIR__,1);
level은 폴더로 돌아갈 횟수입니다.