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