Проблема с плагином Wordpress: невозможно получить текстовый файл в том же каталоге, что и .php - PullRequest
0 голосов
/ 03 января 2011

Вне контекста:

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

Это не работает.'options.txt' находится в том же каталоге, что и плагин .php.Что я делаю неправильно?Я думал, что, так как .php включается откуда-то еще, путь будет неправильным, поэтому я попытался /wp-content/plugins/myPlugin/options.txt.Но ничего ...

Ответы [ 3 ]

1 голос
/ 03 января 2011

Вы действительно должны использовать соответствующую функцию WordPress Plugin и Content Directories , чтобы получить пути к каталогам, чтобы гарантировать, что ваш плагин будет работать в будущих версиях WordPress и т. Д.понимаете, что этот файл будет технически доступен для просмотра через URL?(Просто упомяну это на случай, если в нем есть что-то даже смутное.)

1 голос
/ 04 января 2011

Я бы настоятельно рекомендовал не использовать нативный метод file_get_contents().Не каждая настройка сервера позволяет это, поэтому, если вы когда-нибудь перенесете свой сайт или передадите код кому-то другому, у вас могут возникнуть проблемы.

Вместо этого используйте встроенный HTTP API это идет с WordPress.Ваш конкретный пример будет выглядеть так:

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

При этом будет использоваться встроенный API для получения текстового файла, а затем для получения тела запроса GET (сохраните содержимое текстового файла в переменной $options.

1 голос
/ 03 января 2011

Используйте путь относительно корневого каталога Wordpress без косой черты:

wp-content/plugins/myPlugin/options.txt
...