-3

当我尝试使用 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引用。

循环结束:

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");
}

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

4

2 回答 2

2

您可能需要重构代码以避免使用goto跳转标签。

因为:

  1. 听起来好像您的 PHP 版本可能还不支持它(DaveRandom 建议的版本 <5.3)
  2. 可能有一种方法可以避免跳转标签并仍然实现相同的行为
于 2013-01-02T13:55:20.990 回答
1

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

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”这一事实肯定表明您需要重新考虑您的代码。

于 2013-01-02T14:22:11.950 回答