2013-02-24 4 views
1

Я использую шаблон пользовательской страницы в Wordpress. Я последовал за этими шагами, чтобы сделать это:Шаблон пользовательской страницы в Wordpress

  1. Дублированный page.php файл в/сор-контента/Темы/THEMENAME/каталога в другой файл с именем, submit.php
  2. вставили Имя шаблона в PHP код при запуске. Я не могу опубликовать фрагмент здесь, stackoverflow не отображает его.

  3. Теперь он отображается на панели wp-admin в разделе Шаблоны страниц.

У меня есть HTML-форма на пользовательской странице Wordpress. PHP будет считывать данные, введенные конечным пользователем в текстовой области, и записывать их в файл, хранящийся на сервере.

Все идет хорошо до тех пор, пока я пишу эти данные в файл таким образом:

$fp=fopen("filename.txt","w") or die("Can't open the file"); 

Однако в результате этого файла будут доступны в пути:

http://sitename.com/wordpress/wp-content/themes/themename/filename.txt 

Так , он сохранит данные, считываемые из HTML-формы в текущем каталоге. Вместо этого я хочу записать это в файл, хранящийся в другом месте. Скажем:

http://sitename.com/wordpress/files/filename.txt 

, чтобы сделать это, я изменил код так:

$fp=fopen("../../../files/filename.txt","w") or die("Can't open the file"); 

РНР скрипт умирает с сообщением об ошибке, не может открыть файл.

Я попытался записать вывод на wp-content/uploads каталог следующим образом.

$filename="../../uploads/".$cartype.".txt"; 
$fp=fopen($filename,"w") or die("can't open the file"); 

Дает ошибку: не удается открыть файл.

$ cartype - это просто значение, которое считывается через ввод формы HTML.

Я уже установил разрешения для папки uploads на 777.

Я попытался это так:

$filename="/wp-content/uploads/".$cartype.".txt"; 
$fp=fopen(ABSPATH.$filename,"w") or die("can't open the file"); 

Он снова выдает ошибку: не удается открыть файл.

Пожалуйста, обратите внимание, что я пишу данные в файл позже таким образом:

fwrite($fp,$data) 

Кроме того, когда я могу сделать это, я хотел бы ограничить права на «файлы» каталога, так что только администратор wordpress может читать файлы в этом каталоге, используя FTP или аналогичную альтернативу.

Спасибо.

ответ

0

Вы могли бы chmod 777 /path/to/wordpress/files/, однако я бы поместил их в wp-content/uploads, так как это возможно уже можно записать.

+0

Я пробовал wp-content/uploads и по-прежнему получаю ту же самую ошибку, что он не может открыть файл. Пожалуйста, укажите полный синтаксис для fopen. Как я упоминаю путь? Разрешения для папки uploads установлены на 777. –

+0

Если разрешения были 777, вы не получили бы ошибки разрешения. Попробуйте использовать 'ABSPATH. '/ wp-content/uploads/filename.txt' в качестве вашего пути. – Rob

+0

Я использовал ABSPATH, и он все еще дает ошибку, не может открыть файл. Я обновил свой оригинальный пост. Я попытался использовать путь: ../../uploads, и теперь он не дает мне ошибку, не может открыть файл, но он также не пишет ни одного выходного файла в каталоге загрузки. –

Смежные вопросы