当用户进入我的网站页面时,此代码段会向用户发送电子邮件:...
$email=$userprofile->email;
......你可以像这样回应:
<?php echo $email;?>
但是如何将它存储在我选择的目录或文件夹中的文本文件中,每行一封电子邮件?感谢
我试过这个但它不会工作
<?php
$file = 'http://mydomain.com/file/email.txt';
// Open the file to get existing content
// Write the contents back to the file
file_put_contents($file, $email);
?>
答案 0 :(得分:1)
您无法使用域名打开要写入的文件。您必须在本地文件系统上打开它。这样的事可能适合你:
$myFile = "/local/path/to/email.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$email=$userprofile->email."\n";
fwrite($fh, $email);
fclose($fh);
答案 1 :(得分:1)
file_get_contents()不会用于读取页面内容吗?我知道我已经使用它来读取外部站点的身份验证响应....另一种选择是查看curl函数和输出缓冲。
答案 2 :(得分:0)
您可以使用php filesystem函数
答案 3 :(得分:0)
您需要使用fopen之类的内容 试试这个:
$fh = fopen('myfile.txt', 'a+');
fwrite($fh, $new_email . "\n");
fclose($fh);
正如Joe所说,请注意fopen的第二个参数。 'a +'会将指针放在文件的末尾。如果需要,加号使您能够从中读取。
答案 4 :(得分:0)
首先,你不能使用url作为文件(实际上你可以,但你需要在php中启用它)。 所以,假设您要将电子邮件存储在本地文件中:
$file = "myfile.txt"
如果文件存在,file_put_contents()将覆盖该文件,因此您需要在变量中创建电子邮件列表,最后将其写入文件:
[in an emails loop]
$my_list += $email . '\n'
最后:
file_put_contents($file, $emails_list);