php将电子邮件添加到列表文件csv

php将电子邮件添加到列表文件csv,php,email,csv,Php,Email,Csv,我正试图建立一个列表电子邮件使用CSV文件,问题是它即时通讯使用一个CMS在simpel网站它的作品! 当我在cms中集成时,它会停止工作,并显示: 禁止进入!您没有访问请求对象的权限。它受读取保护或服务器不可读。如果您认为这是服务器错误,请与网站管理员联系。错误403127.0.0.1Apache/2.4.7 Win32 PHP/5.5.8 这是我在脱机页面上的代码: </div><div class="clear"></div> <form

我正试图建立一个列表电子邮件使用CSV文件,问题是它即时通讯使用一个CMS在simpel网站它的作品! 当我在cms中集成时,它会停止工作,并显示:

禁止进入!您没有访问请求对象的权限。它受读取保护或服务器不可读。如果您认为这是服务器错误,请与网站管理员联系。错误403127.0.0.1Apache/2.4.7 Win32 PHP/5.5.8

这是我在脱机页面上的代码:

</div><div class="clear"></div>
    <form name="form1" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" class="subscribe">
        <input type="text" id="notify_by_mail" name="notify_by_mail" class="email"/>
        <input type="submit" name="submit" value="GO" class="submit"/>
    </form>
这是php文件代码:

<?php
        if($_POST['formSubmit'] == "GO")
        {
            $varName = $_POST['notify_by_mail'];
            $file = 'user_emails.csv'; /* The .csv file */
            $fs = fopen($file,"a"); /* Opens up the csv file called user_emails.csv. */
            fwrite($fs,$varName . ", \n"); /* And writes the submitted email to it */
            fclose($fs);
            chmod($file,0622); /* Permissions */
        ?>

            <script type="text/javascript">
                $(document).ready(function() {

                    /* When the user submits his e-mailaddress successfully, the next comment will show below the form. */
                    $("#notify_by_mail").after("<span class='error'>Your e-mailaddress has been submitted to us.</span>");

                });
            </script>

        <?php
        }
    ?>
已将I'v添加到.htaccess文件:

<FilesMatch "\.(csv)$|^$">
   Order deny,allow
   Allow from all
</FilesMatch>
禁止进入!您没有访问所请求文件的权限 对象它受读取保护或不可由服务器读取。如果 您认为这是服务器错误,请联系网站管理员。错误 403127.0.0.1Apache/2.4.7 Win32 PHP/5.5.8


它可以来自.htaccess吗?

您使用的是十进制值,而您应该使用十六进制

chmod$文件,0622;相当于:chmod$file,0x026E

更改:

chmod($file,0622);
致:

不确定在打开和写入文件后是否需要chmod:

您可能希望在打开和写入之前向上移动chmod

$varName = $_POST['notify_by_mail'];
chmod($file,0622); /* Permissions */
$file = 'user_emails.csv'; /* The .csv file */
$fs = fopen($file,"a"); /* Opens up the csv file called user_emails.csv. */
 fwrite($fs,$varName . ", \n"); /* And writes the submitted email to it */
fclose($fs);
如果问题仍然存在,请查看权限和文件信息:


如果您担心公共访问,请将文件移动到一个私有目录,例如:/home/user/etc

听起来更像是一个*nix级别的权限问题,而不是Apache-很可能您的Apache用户可能没有权限写入该文件或目录。。。考虑到它似乎是一个纯文本文档,可能在文档根目录中充满了电子邮件地址,这可能不是一件坏事。我正在本地主机上进行测试,我将尝试在一个在线主机站点上使用它,也许你是对的,先生,它来自Apache。。
$varName = $_POST['notify_by_mail'];
$file = 'user_emails.csv'; /* The .csv file */
$fs = fopen($file,"a"); /* Opens up the csv file called user_emails.csv. */
fwrite($fs,$varName . ", \n"); /* And writes the submitted email to it */
fclose($fs);
chmod($file,0622); /* Permissions */
$varName = $_POST['notify_by_mail'];
chmod($file,0622); /* Permissions */
$file = 'user_emails.csv'; /* The .csv file */
$fs = fopen($file,"a"); /* Opens up the csv file called user_emails.csv. */
 fwrite($fs,$varName . ", \n"); /* And writes the submitted email to it */
fclose($fs);
echo substr(sprintf('%o', fileperms($file)), -4);
var_dump(stat($file));