Wordpress中的自定义页面模板

时间:2013-02-24 10:39:58

标签: php wordpress fopen

我在Wordpress中使用自定义页面模板。我按照以下步骤制作了它:

  1. / wp-content / themes / themename /目录中的重复的page.php文件到另一个名为submit.php的文件
  2. 在开始时在PHP代码中插入模板名称。我无法在此处发布代码段,stackoverflow未显示它。

  3. 现在它显示在页面模板下的wp-admin面板中。

  4. 我在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或类似的替代方案读取该目录中的文件。

    感谢。

1 个答案:

答案 0 :(得分:0)

你可以chmod 777 /path/to/wordpress/files/但是,我会将它们放在wp-content/uploads中,因为那可能已经可写了。