文本文件内容将回显,但不会返回php

文本文件内容将回显,但不会返回php,php,text-files,fopen,fread,fclose,Php,Text Files,Fopen,Fread,Fclose,过去几周我一直在做这件事,但找不到其他的路线。我需要做的是在读取文件后返回文本文件的内容。我有两个不同的日志,它们使用文本文件记录错误。第一个日志返回我要求的正确变量,但出于某种原因,即使我使用完全相同的方法调用该变量,它也不会返回任何内容。如果我回显变量,则显示正确的字符串,但变量不返回任何内容。以下是函数: function GetNoticeLog($strDate){ $logdate = preg_replace("/[^0-9]/", "_", $strDate );

过去几周我一直在做这件事,但找不到其他的路线。我需要做的是在读取文件后返回文本文件的内容。我有两个不同的日志,它们使用文本文件记录错误。第一个日志返回我要求的正确变量,但出于某种原因,即使我使用完全相同的方法调用该变量,它也不会返回任何内容。如果我回显变量,则显示正确的字符串,但变量不返回任何内容。以下是函数:

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";
    }               
}
我的问题是,为什么这个函数在一个函数中执行时返回必要的字符串,但在另一个函数中必须进行回音才能看到内容

试试换衣服

$fclose($file);
对此

fclose($file);
我能够让代码在我的服务器上运行。我在这里所做的唯一更改是文件的路径,它与PHP脚本位于同一目录中

<?php

function GetNoticeLog($strDate){
    $logdate = preg_replace("/[^0-9]/", "_", $strDate );
    //$strFileName = realpath('debuglogs/enotice_logs').'/ENOTICELOG_' . $logdate . '.txt';
    $strFileName = "blah.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";
    }               
}



$stuff = GetNoticeLog("whatever");

echo $stuff;

?>


So$内容总是正确的(因为你重复了它,你看到它是好的),但返回是空的?对我来说似乎不可能。。显示调用函数的代码。而且只需使用file_get_contents()一次调用即可读取该文件。谢谢。我刚刚找到答案。我用来显示表格的重要索引拼写错误。谢谢你的帮助。我衷心感谢