0

基本的に、PHP を使用して、Web サイト用の基本的な CMS を作成しようとしています。CSV ファイルから SPRY ナビゲーション バーを作成するスクリプトを作成しようとしていますが、スクリプトを呼び出す include() 関数に到達するとサーバーがレンダリングを停止します。Apache エラー ログを確認しましたが、そこには何もありません。また、スクリプトの冒頭で HTML コメントをエコーし​​ましたが、それがページ ソースに表示されないため、起動すらしていないように見えます。走る?それが何であるかについてのアイデアはありますか?

テンプレート ヘッダー ファイル (メイン ページ ファイルの PHP に含まれており、正常に動作します):

<div id="header">
<div style="float:left; height:inherit;"><a href="/"> <img src="/uploads/logo.png height="150px" alt="Bradfield &amp; Bentley" /> </a> </div>
<div style="float: right;"></div>
<div id="navigation" style="clear:both;">
<p></p>
  <ul id="MenuBar1" class="MenuBarHorizontal">
    <?php include($_SERVER['DOCUMENT_ROOT'].'/templatefiles/navigation.php'); ?>
  </ul>
</div>
</div>
<div id="contain">
<div id="spacer">
<p></p> 
</div>

「navigation.php」ファイル (含まれているときにサーバーがレンダリングを停止するファイル):

<?php
echo "<!-- File Opened -->";
$row = 1;
if (($handle = fopen($_SERVER['DOCUMENT_ROOT'].'/templatefiles/navigation.csv', "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        $row++;
        echo "<li><a href=\"".$data[$2]."\">".$data[$1]."<a/><li><BR/>";
    }
    fclose($handle);
}

?>
4

3 に答える 3

1

で試してみてください

error_reporting(E_ALL);
ini_set('display_errors',1);

「スクリプトにエラーがある」という別の方法は、無限ループがあり、memory_lmit に到達してスレッドが強制終了されることです。

于 2013-01-25T20:29:42.033 に答える
0

このファイルには構文エラーがあるため

  echo "<li><a href=\"".$data[$2]."\">".$data[$1]."<a/><li><BR/>";

数値の変数名は使用できません。配列$data[2]のそのインデックスにアクセスする場合は、そうする必要があります。$data

于 2013-01-24T19:17:58.233 に答える
0

ページのレンダリングが停止すると、これは致命的な php エラーを意味します。ただし、Include は致命的なエラーをスローせず、警告のみをスローします。そのphpファイルにエラーがある可能性があります。

于 2013-01-24T19:19:11.803 に答える