用于打开花括号的PHP解析错误

时间:2012-01-14 14:46:23

标签: php debugging

运行下面的代码时,我遇到了这个不熟悉的错误。我看不出有什么不对。

错误: 解析错误:语法错误,意外' {'在/var/www/crawler/sources.php第2行

<?php
sourcelist($filename = '/var/resources/sources.list'){

if (is_readable($filename)){
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);

return(json_decode($contents));

} else {
return NULL;
}

}



print_r(sourcesList());
?>

这是我运行的确切代码段。怎么了?

5 个答案:

答案 0 :(得分:5)

您正在尝试定义一项功能,但您错过了function关键字:

sourcelist($filename = '/var/resources/sources.list'){

应该是

function sourcelist($filename = '/var/resources/sources.list'){

See the documentation on PHP functions.

答案 1 :(得分:1)

您缺少函数关键字:

function sourcelist($filename = '/var/resources/sources.list'){

答案 2 :(得分:0)

你期待什么

sourcelist($filename = '/var/resources/sources.list'){

}

要做什么? 从来没有听说过这种结构

答案 3 :(得分:0)

大概你在这里尝试定义一个sourcelist函数(一个参数有一个默认值)。您忘记使用function关键字启动函数声明。因此,您的代码以调用开头,然后是sourcelist函数,然后是块的开头(在那里不允许)。

第二行应为:

function sourcelist($filename = '/var/resources/sources.list'){

答案 4 :(得分:0)

试试这个

<?php
$filename = "/var/resources/sources.list"

function sourcelist($filename){

     if (is_readable($filename)){
     $handle = fopen($filename, "r");
     $contents = fread($handle, filesize($filename));
     fclose($handle);
     return(json_decode($contents));
     } else {
     return NULL;
     }

}

print_r(sourcesList($filename));
?>