解析错误:语法错误,行中意外的T_STRING

时间:2013-01-02 13:44:11

标签: php parse-error

当我尝试使用cron作业运行文件时,我得到以下内容

Parse error: syntax error, unexpected T_STRING in /home/joshand2/public_html/application/models/model_posting.php on line 1787

1787年的行是goto endofloop;我不知道此行中是否存在与语法相关的问题,但endofloop指的是。

endofloop:

if (file_exists("cookies/".$this->job_id."_job_".$this->site_id."_site.txt")) {
    echo "The file cookies/".$this->job_id."_job_".$this->site_id."_site.txt exists"; 
    unlink("cookies/".$this->job_id."_job_".$this->site_id."_site.txt");
}

有人可以帮我解决这个错误吗?

2 个答案:

答案 0 :(得分:2)

您可能需要对代码进行重新分解,以避免使用goto跳转标签。

由于:

  1. 听起来好像你的PHP版本可能还不支持它(DaveRandom建议版本< 5.3)
  2. 可能有一种方法可以避免跳转标签并仍能实现相同的行为

答案 1 :(得分:1)

不要使用转到。至少定义一个函数。您的代码的示例如下:

function endOfLoop($job_id, $site_id) {
    $file = 'cookies/' . $job_id . '_job_' . $site_id . '_site.txt';
    if (file_exists($file)) {
        echo 'The file ' . $file . ' exists'; 
        unlink($file);
    }
}

然后你在哪里使用goto,只需调用你的函数:

endOfLoop($this->job_id, $this->site_id);

您标记“endofloop”的事实肯定表明您需要重新考虑您的代码。