返回文件内容


Returning the file contents

当我有一个看起来像这样的php文件时(没有脚本,只是返回值):

return [1, 2, 3, 4, 5];

我必须使用requireinclude来获取这些文件内容,如下所示:

$contents = require "data.php";

这是从文件中获取数据的常用方法,还是可以通过更多方式完成?

真的,这样我第一次看到,我可以问你,这有效吗?无论如何,这不是一个好的做法。最好在文件中描述函数,然后使用函数。

数据.php:

function get_array(){
    return [1, 2, 3, 4 ,5];
}

然后像这样使用它:

include('data.php');
$contents = get_array();

如果需要,要以字符串形式获取所有文件内容,可以使用file_get_contents:

$contents = file_get_contents('data.php');

包含和要求之间有什么区别?当您使用包含并且文件不存在时,您不会收到致命错误。

正如@MarkBaker在评论中发布的那样:

只有当"数据"是可执行代码时,它才很常见,在这种情况下,它非常常见。

包含<?php return [1, 2, 3, 4, 5];的文件将是可执行代码;包含1, 2, 3, 4, 5的文件将是不可执行的代码。PHP 没有要执行的代码语句。

在包含后者的文件上使用includerequire不会实现任何效果;您需要使用file_get_contents()(或类似)将实际数据读取到变量中。