我在Wordpress中使用自定义页面模板。我按照以下步骤制作了它:
在开始时在PHP代码中插入模板名称。我无法在此处发布代码段,stackoverflow未显示它。
现在它显示在页面模板下的wp-admin面板中。
我在Wordpress的自定义页面上有一个HTML表单。 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");
PHP脚本因错误消息而死亡,无法打开文件。
我尝试将输出写入 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)
此外,一旦我能够这样做,我想限制“files”目录的权限,以便只有wordpress管理员可以使用FTP或类似的替代方案读取该目录中的文件。
感谢。
答案 0 :(得分:0)
你可以chmod 777 /path/to/wordpress/files/
但是,我会将它们放在wp-content/uploads
中,因为那可能已经可写了。