-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 に答える