내 WordPress 플러그인에서 파일에 쓰기
플러그인 폴더 내의 xml 데이터 파일 읽기/쓰기에 의존하는 WordPress 사이트용 커스텀 플러그인을 작성했습니다.이 표준 PHP 코드를 파일 읽기/쓰기용으로 테스트하면 wp-admin/레벨에 있는 파일에는 작성/기입할 수 있지만 플러그인 폴더 내의 파일에는 쓸 수 없습니다.
$file = 'test.xml'; (Can write to this file)
$file = plugins_url()."/my-plugin/test.xml"; (Can read but not write to this file)
// Open the file to get existing content
$current = file_get_contents($file);
echo $current;
// Append a new person to the file
$current .= "<person>John Smith</person>\n";
// Write the contents back to the file
file_put_contents($file, $current);
다음과 같은 디버깅에러가 발생.
경고: file_put_contents(http://localhost/wp_mysite/wp-content/plugins/my-plugin/test.xml) [함수]file-put-contents]: 스트림을 열지 못했습니다.HTTP 래퍼는 /Applications/MAMP/htdocs/wp_mysite/wp-contents/plugins/my-plugin에서 쓰기 가능한 연결을 지원하지 않습니다.53행의 php
현재 로컬 MAMP 서버에서 실행 중이지만 WordPress 서버에서 플러그인을 패키징하고 게시할 수 있는 솔루션을 원합니다.올바른 접근법은 무엇입니까?
감사합니다.
파일에 쓰려면 HTTP를 통해 액세스하지 마십시오.읽기 및 쓰기를 모두 위해 직접 액세스할 수 있습니다. 파일에 액세스하는 것이 훨씬 빠르고 가장 직접적인 방법입니다.
기본 플러그인 디렉토리 경로를 가져오려면WP_PLUGIN_DIR
상수:
$file = 'test.xml'; // (Can write to this file)
$file = WP_PLUGIN_DIR."/my-plugin/test.xml";
// ^^^^^^^^^^^^^
이로 인해 성능상의 이유 및 HTTP가 쓰기를 지원하지 않기 때문에 전혀 사용하지 않는HTTP를 사용할 수 없게 됩니다.그러나 가장 중요한 것은 사용자가 액세스할 수 있는 서버상의 파일이기 때문에 직접 액세스하십시오.
언급URL : https://stackoverflow.com/questions/6505700/writing-to-a-file-from-my-wordpress-plugin
'it-source' 카테고리의 다른 글
JS를 테스트하기 위해 레일 각도 프로젝트를 설정하려면 어떻게 해야 합니까? (0) | 2023.04.01 |
---|---|
React 컴포넌트에서 프로펠러 업데이트를 테스트하는 방법 (0) | 2023.04.01 |
사용 가능한 경우 서버 동기화를 사용하여 Angular.js 앱을 오프라인으로 만드는 방법 (0) | 2023.04.01 |
Angular를 사용하여 URL을 프로그래밍 방식으로 작성하는 방법JS (0) | 2023.04.01 |
Google Adwords 변환 추적 이벤트 - 한 페이지 (0) | 2023.04.01 |