错误无法打开流:file_get_contents()

时间:2016-08-14 11:46:10

标签: php yii2 yii2-advanced-app

我试图通过使用file_get_contents()函数显示文本文件(1.txt)的内容,当然我正在使用yii2框架。

如果yii2中有更简单的功能,请建议我。

这是我在控制器中的代码:

public function actionRandom() {

        $fileContent = file_get_contents(Yii::$app->request->baseUrl.'/files/upload/1.txt',true);
        echo Json::encode($fileContent);
        Yii::app()->end();

        return $this->render('random', [
                        ]
        );
    }

我在结果中收到此错误。

file_get_contents(/test/files/upload/1.txt): failed to open stream: No such file or directory

该文件存在于路径中,但我不知道为什么会出现此错误。

这些答案对我没有帮助。

first

second

3 个答案:

答案 0 :(得分:1)

尝试使用绝对网址

use yii\helpers\Url

Url::to(Yii::$app->request->baseUrl  .'/files/upload/1.txt' , true);
$fileContent = file_get_contents(Url::to(Yii::$app->request->baseUrl  
         .'/files/upload/1.txt' , true),true);

答案 1 :(得分:0)

如果您确定文件Url或路径正确,请检查文件权限。

答案 2 :(得分:0)

file_get_contents(dirname(__DIR__).'/../web/files/upload/1.txt',true);
如果您的文件存在,

将有效'/yourproject/web/files/upload/1.txt'