0

是否可以获取内容

/etc/asterisk/sip.conf

并用 PHP 打印?

我正在尝试:

<?php
                $filecontents = file_get_contents("/etc/asterisk/sip.conf");
                print $filecontents;
?>

但它不起作用......文件上的 chmod 是正确的。

谢谢

4

4 回答 4

2

如果您提到的目录路径正确,这主要取决于两个主要权限。您提到了“/ect”,我担心这可能是您的代码中的错字。

  1. 您尝试访问的文件的实际文件权限
  2. 您的 php 指令配置中的 open_basedir 限制,以及来自您的网络服务器的类似限制。
于 2013-04-09T14:35:07.203 回答
1

我不确定这是否是你的问题,但你写/ect的,而传统目录是/etc

否则,把它放在前面file_get_contents

ini_set("display_errors", 1);
error_reporting(E_ALL);

并检查错误输出

于 2013-04-09T14:30:51.370 回答
1

真的很抱歉..我的sip.conf文件是空的,我觉得很愚蠢

于 2013-04-09T15:24:14.067 回答
0

但它不起作用......我设置了权利。

根据不起作用的情况,您可能设置了错误的权限。

通过验证返回值来验证:

$filecontents = file_get_contents("/ect/asterisk/sip.conf");
if ($filecontents === FALSE)
{
    echo "I made an error.\n";
}
else 
{
    print $filecontents;
}

您的问题很可能是可能存在ect的变体。etc要确定文件是否存在,请对其进行测试。完整代码:

$file = "/ect/asterisk/sip.conf";

if (!is_file) {
    echo "The file $file does not exists. Please check the path.\n";
}

if (!is_readable) {
    echo "The file $file is not readable. Ensure you can read it.\n";
}

$filecontents = file_get_contents($file);
if ($filecontents === FALSE)
{
    echo "I made an error.\n";
}
else 
{
    print $filecontents;
}
于 2013-04-09T14:38:24.947 回答