2011-01-03 1 views
0

컨텍스트를 벗어났습니다.Wordpress 플러그인 문제 : .php와 같은 디렉토리에 텍스트 파일을 가져올 수 없습니다.

<?php 
$options=file_get_contents('options.txt'); 
?> 

이것은 작동하지 않습니다. 'options.txt'는 플러그인 .php와 같은 디렉토리에 있습니다. 내가 뭘 잘못하고 있죠? 나는 .php가 다른 곳에서 포함 되었기 때문에 경로가 잘못되었을 것으로 생각하여 '/wp-content/plugins/myPlugin/options.txt'를 시도했다. 하지만 아무것도 ...

답변

1

당신은 정말 당신의 플러그인이 작동하는지 확인하기 위해 디렉토리 경로를 얻기 위해 적절한 워드 프레스 Plugin and Content Directories 기능을 사용해야하지만 아무것도 ...

+0

예, 물론입니다. 민감한 건 없어요. 몇 가지 설정. – navand

+1

그리고 btw, 나는 마침내 이렇게했다 : $ optionst = file_get_contents (plugins_url(). '/ my_plugin/options.txt'); – navand

+0

@navland - 멋지다. 다행이다. :-) –

1

는 앞 슬래시없이 워드 프레스 루트 디렉토리에 상대적인 경로를 사용하십시오

덧붙여 말하자면이 파일은 기술적으로 URL을 통해 공개적으로 볼 수 있다는 것을 알고 계십니까? (막연하게 민감한 것을 포함하고있는 경우에 대비하여 언급하십시오.)

+0

를 사용합니다 , 플러그인 자체의 디렉토리를 가져 오는 기능이 있어야합니다. 문서를 확인하십시오. –

+0

그랬습니다. 바보 같은 느낌이 들지만, 그래, 파일 기능을 검사 할게 . – navand

+0

어리 석을 느끼지 마라. 당신이 만든 실수는 해결됩니다. :) –

1

file_get_contents() 네이티브 메소드를 사용하지 말 것을 강력히 권합니다. 모든 서버 설정이 이것을 허용하지는 않으므로 사이트를 이전하거나 다른 사람에게 코드를 제공하면 문제가 발생할 수 있습니다.

대신 WordPress와 함께 제공되는 내장형 HTTP API을 사용하십시오. 귀하의 구체적인 예는 될 것입니다 :.

$options = wp_remote_retrieve_body(wp_remote_get(plugins_url() . '/my_plugin/options.txt')); 

이것은 그러나 내장 (GET 요청의 몸체를 검색 $options 변수에 텍스트 파일의 내용을 저장 한 다음 텍스트 파일을 GET하고 API