0

我正在准备我的期末考试,虽然这在我的互联网商务课程中没有涉及,但我一直对我的网站感兴趣。我在这里阅读了几篇关于构建函数的帖子,它没有抛出任何错误,但是页面上根本没有显示面包屑。我回去做了一些研究并发现了一个$upToNowCrumbs数组,但它再次没有帮助在页面上显示面包屑。

这是函数本身的代码(文件位于header.php):

<?php
function breadcrumbs($separator = ' &raquo; ', $home ='Overview')
{
    $path = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
    $base_url = ($_SERVER['HTTPS'] ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/';
    $breadcrumbs = array("<a href=\"$base_url\">$home</a>");
    $key_set = array_keys($path);

    $last = end($key_set);

    $upToNowCrumbs = array();

    foreach($path AS $x => $crumb)
    {
        $upToNowCrumbs[] = $crumb;
        $title = ucwords(str_replace(array('.php', '_'), Array('', ' '), $crumb));
        if ($x != $last)
        {
            $breadcrumbs[] = '<a href=\"$base_url".implode('/', $upToNowCrumbs)."\">$title</a>';
        }

        else
        {
            $breadcrumbs[] = $title;
        }
    }

    return implode($separator, $breadcrumbs);
}
?>

这是我在站点本身中调用函数的方式(文件位于 site_header.php 中):

<section class="bread">
<article class='admin-bread'>
    <?php breadcrumbs(' > '); ?>
</article>

我知道我们不应该编辑问题,但我不会更改任何内容。我忘记了使用$upToNowCrumbs生成错误(对不起,我累了)

Warning: Division by zero in C:\xampp\htdocs\finals\inc\header.php on line 24

Warning: Division by zero in C:\xampp\htdocs\finals\inc\header.php on line 24
4

2 回答 2

3

你必须回显面包屑,现在你只是返回它。

 <?php echo breadcrumbs(' > '); ?>
于 2013-05-01T07:07:24.223 回答
2
    $breadcrumbs[] = '<a href=\"$base_url".implode('/', $upToNowCrumbs)."\">$title</a>';

应该

    $breadcrumbs[] = '<a href="'.$base_url.implode('/', $upToNowCrumbs).'">'.$title.'</a>';
于 2013-05-01T07:11:30.357 回答