Я использую fwrite для создания html-файла в папке в моем плагине. Следующий код теперь позволяет мне записывать в папку, но ссылка, которую он пытается открыть, - это полный системный путь.WordPress fopen get directory link
function buildFrameFile($html, $filename){
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$filename= $DOCUMENT_ROOT. '/wp-content/plugins/my-plugin/html/' . $filename . ".html";
$fh = fopen($filename, 'a');//open file and create if does not exist
fwrite($fh, $html);//write data
fclose($fh);//close file
return $filename;
}
Путь теперь открывает это:
/var/chroot/home/content/##/########/html/wp-content/plugins/my-plugin/html/79dda339bad8e65c425e580d62f41fa1.html
мне это нужно, чтобы открыть здесь:
/wp-content/plugins/my-plugin/html/79dda339bad8e65c425e580d62f41fa1.html
Я не уверен, как идти об этом.
Я не уверен, что это помогает. Я пробовал chmod 777 в каталоге и использовал fwrite(), а также file_put_contents() и даже имел $ DOCUMENT_ROOT = $ _SERVER ['DOCUMENT_ROOT']; установите путь к плагину. Но он записывает только в папку, если я использую $ DOCUMENT_ROOT = $ _SERVER ['DOCUMENT_ROOT']; Который, конечно же, вызывает полный системный путь к файлу, к которому тогда нельзя получить доступ. Однако файл добавляется в папку. –
Ваш HTTP-сервер работает от chroot? – kyeno
Хостинг - это godaddy.com, и я не знаю, работает ли он от chroot. Я не вижу ничего, показывая, что это происходит, пока я не запустил сценарий выше. –