OK,이 같은 서버에있는 파일을 가리키는 PHP 상수를 정의 include
, fopen
등과 같은 PHP 함수가 있습니다. 이제이 경로를 내 (X) HTML 출력에서 URL로 사용하려면 망가졌습니다. 이렇게하려면 문서 루트를 제거해야합니다.스트립의 문서 루트는
일반적으로 $_SERVER['DOCUMENT_ROOT']
은 PHP 환경의 99 %에 설정되지만 잘못 구성된 경우, 사용자가 덮어 쓰거나 누락 된 경우에도 발생할 수 있습니다.
이제 파일의 실제 URL (문서 루트 경로가 제거됨)을 가리키는 SOME_FILE
을 기반으로하는 또 다른 PHP 상수가 define()
입니다.
은 내가 __FILE__
, $_SERVER['SCRIPT_NAME']
와 코드의 3-4 라인에서이 작업을 수행 할 수 있습니다 알고, strrpos
(SCRIPT_NAME은 CGI 1.1 사양하지만 DOCUMENT_ROOT에 따라 필요), 및 substr
,하지만 난 "한 줄을 찾고 있어요 "정의 문에서 사용할 솔루션 ...
PHP 5.1.0+를 사용합니다. 에이미 제안 환영!
예, 가장 간단하지만 일부 클라이언트 환경에서는 $ _SERVER [ 'DOCUMENT_ROOT']을 기대할 수 없습니다. – AlexV
그건 다소 부적절합니다. 간단히 말해 입력하기 쉽도록 루트 경로를 입력하기 만하면됩니다. 필자가 지적한 것은 왜 document_root와 root_url을 독립 변수로 정의 할 수 있는지 등을 스트라이핑하는 것을 왜 왜곡하는 것입니다. –
그래,하지만 내 방식으로, 그것은 어떤 설정에서 모든 dir에서 어디서나 작동합니다. 방법을 사용하면 호스트를 변경하거나 파일을 이동할 때 const를 변경해야합니다. – AlexV