• 締切済み

PHPでのsyntax errorについて

こんにちは。今PHPによるサイト制作をしています。 今までちゃんとサイトが表示されていたのですが、 FTPでローカルのデータファイル全体をPUTしたところ、 サイト内で新着情報表示を使用しているページのみParse error: syntax error,が出てしまいます。 構文は一切変更をしていなかったため、原因がわかりません。 どなたかご教授頂けないでしょうか。 (下記、新着情報表示の構文) <table width="600" cellpadding="5" cellspacing="5" border="0"> <?php include("./inc/info.def.php"); ?> <?php $log = file(LOG_FILE); if (TOP_ROWS >= count($log)) { $END = count($log) - 1; } else { $END = TOP_ROWS - 1; } for($i=0;$i<=$END;$i++) { $DATA = _split($log[$i]); ?> <tr> <td> <?php if ($DATA['FILENAME']) { $SIZE = _calc_thumbnail($DATA['HEIGHT'],$DATA['WIDTH']); ?> <p class="news-photo"><a href="news.php?no=<?=$DATA['NO'];?>"><img src="<?=IMG_DIR.$DATA['FILENAME'];?>" border="0" width="<?=$SIZE['WIDTH'];?>" height="<?=$SIZE['HEIGHT'];?>" alt=""></a></p> <?php } ?> </td> <td nowrap valign="top" height="10"> <a href="news.php?no=<?=$DATA['NO'];?>"><font color="#cccccc"><span class="title-text"><?=$DATA['CAPTION'];?></span></font></a><br> <img src="img/blank.gif" alt="" width="1" height="5" border="0"><br> <p class="date-text"><font color="#cccccc"><?=date("Y年m月d日",$DATA['STAMP']);?></font></p> </td> </tr> <? } ?> </table> ---------------------------------------------------- 読み込んでいるinfo.def.phpの構文 <?php // 新着情報に関する設定 define("LOG_FILE","./inc/information.dat"); // ログファイル define("IMG_DIR","./up_img/"); // アップ画像保存場所 define("TOP_ROWS","5"); // トップページに表示する件数 define("LIST_ROWS","3"); // 1ページに表示するタイトル // 画像サイズに関する設定 define("IMG_H","600"); define("IMG_W","400"); define("THUMB_H","100"); define("THUMB_W","100"); // ログファイルを分解する関数 function _split($log='') { if (!$log) { return; } $data = split(",",$log); return array( 'NO' => $data[0], 'STAMP' => $data[1], 'CAPTION' => urldecode($data[2]), 'COMMENT' => urldecode($data[3]), 'FILENAME' => $data[4], 'HEIGHT' => $data[5], 'WIDTH' => ereg_replace("\n","",$data[6]) ); } ?> ---------------------------------------------------- よろしくお願い致します。

みんなの回答

  • 1E-9
  • ベストアンサー率51% (22/43)
回答No.2

構文を変更していないのを前提とするならば、 ・新着情報表示ページファイル修正時に、誤ってphpの一部を削除してしまった。あるいは、改行を消してしまった、余計な文字がうっかりphpプログラム部分に挿入された。 というのが、一番在り得そうです。 そうでなければ、ファイル全体をアップしたということで ・読み込んでいるファイルのパスが変わった、あるいは読み込むファイルが無くなった ・ログや画像ファイルの入っているフォルダのパーミッションが変わった ・ログファイルの文字コードなどが変わった という可能性もあります。 (その場合は、syntax errorにはならない気もしますが) 最初の方の回答通り、syntax errorの後に行数なりファイル名なりが書いてあるかと思います。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

提示されたところだけでは、syntax errorにはなりませんでした。 そのメッセージの後に、もう少し詳しい内容とか、ファイル名と行番号とかが書いてあるはずなのですが、読みましたか? Syntax Errorは、ほとんどが単純なミス(括弧の閉じ忘れ等)です。

関連するQ&A

専門家に質問してみよう