0

基本上我正在尝试使用 PHP 为我的网站创建一个基本的 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 错误。但是,包含不会引发致命错误,只会引发警告。您可能在该 php 文件中有一些错误。

于 2013-01-24T19:19:11.803 回答