Итак, я использовал file_get_contents, чтобы запросить файл через плагин для Wordpress, который я распространяю среди других пользователей.
В любом случае первоначально я проверял, разрешено ли для пользователя 'allow_url_fopen' иесли так, то прямо для file_get_contents.Если нет, то я проверил, включен ли для пользователя cURL, и если да, то выбрал этот маршрут.Код ниже:
if ( ini_get( 'allow_url_fopen' ) == 1 ) {
$content = file_get_contents( $file );
return $content;
}
elseif ( function_exists( 'curl_version' ) ) {
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, riva_slider_pro_dir( true ) . $file );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
$content = curl_exec( $curl );
curl_close( $curl );
return $content;
}
Однако, вот проблема, с которой я столкнулся.Хост определенного пользователя заблокировал функцию file_get_contents от полного доступа к файлам, оставив при этом параметр allow_url_fopen включенным.Ничто не будет работать, относительные пути, абсолютные пути, ничего.Поэтому я обратился к другому решению и выяснил, что это сработало:
ob_start();
include $file;
$content = ob_get_contents();
ob_end_clean();
Мой вопрос: насколько надежен этот метод?При этом я использовал локальный путь, такой как «admin / file.css» и т. Д.
Если я решу заменить верхний код этим, то какие настройки хостинга могут помешать его работе?Использование этого метода не дает мне возможности проверить, что-то пошло не так.