我有一个名为“basic.txt”的文本文件,其中包含以下文字
此
是一个 测试文件。
我的cronjob每分钟运行一次我的php程序并给我发电子邮件。我收到的电子邮件没有问题,但它不会包含正文消息。这是我的PHP代码:
<?php
$string = "";
$file = fopen("basic.txt", "r");
$string .= file_get_contents("basic.txt");
$fclose($file);
echo $string; // this is to test that in fact $string contains the text and it does
mail("example@hotmail.com", "TEST", $string, "From: example@hotmail.com");
?>
为什么$ string不会将文本从文本文件发送到电子邮件正文,即使我可以使用“echo $ string”并且它工作正常?
由于
答案 0 :(得分:2)
摆脱这两行:
$file = fopen("basic.txt", "r");
$fclose($file);
由于您已经在使用file_get_contents()
来获取文件的内容。
从我的服务器运行代码:
致命错误:第5行的/path/to/file.php中的函数名必须是字符串
你的代码在默默地上失败了。
因此,在OP的情况下,根据评论中的建议,文本文件需要完整的系统路径,并且必须设置新的cron作业。