在每行一个文本文件中存储电子邮件

时间:2011-01-20 21:54:50

标签: php

当用户进入我的网站页面时,此代码段会向用户发送电子邮件:...

$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);
?>

5 个答案:

答案 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);