【发布时间】:2013-12-29 22:43:24
【问题描述】:
过去几周我一直在处理这个问题,但找不到替代路线。我需要做的是在读取文件后返回文本文件的内容。我有两个不同的日志,它们使用文本文件来记录错误。第一个日志返回我要求的正确变量,但出于某种原因,即使我使用完全相同的方法调用该变量,它也不会返回任何内容。如果我回显变量,则显示正确的字符串,但变量不返回任何内容。这是函数:
function GetNoticeLog($strDate){
$logdate = preg_replace("/[^0-9]/", "_", $strDate );
$strFileName = realpath('debuglogs/enotice_logs').'/ENOTICELOG_' . $logdate . '.txt';
if(is_readable($strFileName)){
$file = fopen($strFileName,"r");
$contents = fread($file, filesize($strFileName));
$fclose($file);
return nl2br($contents);
}
else if(!is_readable($strFileName)){
echo $strFileName." is unreadable";
}
}
为什么这个函数在一个函数中执行时返回必要的字符串,但必须回显才能在另一个函数中看到内容,这是我的问题。
【问题讨论】:
-
所以.. $contents 总是正确的(因为你回应了它并且你看到它没问题)但是返回是空的?对我来说似乎不可能......显示调用该函数的代码。另外..您可以使用 file_get_contents() 一次调用读取文件。
标签: php text-files fopen fread fclose