当前位置: 首页 > 知识库问答 >
问题:

初学者试图弄懂PHP[重复]

陆斌
2023-03-14

我只是试图做一个简单的PHP程序,让我可以快速生成我的页面。

<?php
  include "/base/startup.php";
  echo "Test";
  startPage("Home");
 ?>

/base/startup.php

$HOME = "/";
$SCRIPT = <<<EOD

EOD;

$IMPORTS = array(
  "/scripts/script.js"
);

$STYLES = array(
  "/styles/style.css"
);

function prnt($string) {
  echo $string;
}

function map($func, $arr) {
  foreach($arr as $i) {
    call_user_func($func, $i);
  }
}

function linkScript($script) {
  prnt("<script src='$script'></script>");
}

function linkStyle($style)  {
  prnt("<link rel='stylesheet' href='$style'/>");
}

function startPage($title, $script="", $imports=array(), $styles=array()) {
  $pre_tags = array(
    "<html>",
    "<head>"
  );
  $post_tags = array(
    "</head>",
    "<body>"
  );
  map(prnt, $pre_tags);
  prnt("<title>$title</title>");
  map(linkScript, $IMPORTS);
  map(linkScript, $imports);
  map(linkStyle, $STYLES);
  map(linkStyle, $styles);
  map(prnt, $post_tags);
}

function genNav() {
  $nav_links = array(
    "Home"=>$HOME,
    "Walkthroughs"=>$HOME . "/walkthroughs/",
    "Dex"=>$HOME . "dex.php"
  );
  prnt("<div class='nav'>");
  foreach ($nav_links as $key => $value) {
    prnt("<a class='link' href='" . $value . "'/>" . $key . "</a>");
  }
}

function endPage() {
  $endTags = array(
    "</body>",
    "</html>"
  );
}

 ?>

这是一个错误:

Warning: include(/base/startup.php): failed to open stream: No such file or directory in /var/www/html/index.php on line 2

Warning: include(): Failed opening '/base/startup.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/index.php on line 2
Test
Fatal error: Uncaught Error: Call to undefined function startPage() in /var/www/html/index.php:4 Stack trace: #0 {main} thrown in /var/www/html/index.php on line 4

共有1个答案

孔冥夜
2023-03-14

既然您提到您在Linux机器上,那么问题似乎是由于这里的/引起的。/被认为是linux机器的根目录。因此删除/很可能起作用:

<?php
  include "base/startup.php";  // Try removing the slash.
  echo "Test";
  startPage("Home");
?>

由于您还没有启用错误显示,问题将是,您的系统中没有/base,并且它将抛出一个错误,如fatal:Include file not found.,由于您的配置,该错误不会显示,相反,它将静默地显示错误500。

更新

map("prnt", $pre_tags);
prnt("<title>$title</title>");
map("linkScript", $IMPORTS);
map("linkScript", $imports);
map("linkStyle", $STYLES);
map("linkStyle", $styles);
map("prnt", $post_tags);
global $IMPORTS, $STYLES;

现在您的代码按预期工作。

并最终完成endpage()函数:

function endPage() {
  $endTags = array(
    "</body>",
    "</html>"
  );
  foreach($endTags as $tag)
    echo $tag;
}
 类似资料:
  • 嗨,我真的不确定从哪里开始,但我只是想学习ajax和php,但不确定我在这里错过了什么。 和我的文件... 只是想知道如何在php文件中获得要受影响的值,然后返回并更新?

  • 本文向大家介绍适用于Java初学者的学习路线图,包括了适用于Java初学者的学习路线图的使用技巧和注意事项,需要的朋友参考一下 对于Java初学者来说,想学习Java教程,需要明白,基础打好才能学得更好,Java教程之学习Java的路线图的五个必经阶段,希望能对Java学习者有所帮助。 第一个阶段-java基础阶段   1.java语法   2.面向对象   3.常用的api   4.界面编程  

  • 所以我真的只是在尝试适应firebase,所以我在我的应用程序中要做的第一件事就是匿名认证。使用以下代码,我收到错误“[核心/无应用]未创建Firebase应用程序“[默认值]”-调用Firebase.initializeApp() 这是我的主要 这是登录屏幕,我第一次尝试使用firebase。 以及我使用signInAnon()的auth类。 我在关注大约2年前的youtube课程表,所以我知道

  • 问题内容: 这个问题已经在这里有了答案 : 10年前关闭。 可能重复: 如果我是Python的新手,应该使用哪个版本的Python? 建议初学者使用Python 3.1吗?还是有我需要考虑的严重缺点? 问题答案: 3.1比2.5或2.6简单得多,但目前缺少第三方附件,支持它的环境(使用它进行脚本编写的大型应用程序)以及IDE等工具的严重缺乏。因此,很大程度上取决于您想学习Python的目的- 如果

  • 我应该编写一个简单的方法,返回给定数量的给定字符串,用逗号分隔(最后没有逗号),并使用递归。如果计数少于两个,则返回空字符串“”。 如果我把s=cat,count=5,我会得到所需的短一个。我不知道该怎么做,在这里得到适当数量的重复,而不在末尾加逗号。 编辑:显然我没有沟通,如果计数为2或更少,则该方法应该返回一个空字符串。抱歉这里不够清晰。

  • 本教程的主要内容是介绍如何使用 jMonkeyEngine 进行游戏开发,旨在帮助初学者快速理解 jMonkeyEngine 中的核心概念。由于作者本人水品有限,文中难以避免出现谬误,如您在阅读过程中发现有不对的地方,请告知本人,我会尽快修正。 jME3 官方网站: 官网: http://jmonkeyengine.org/ 论坛: https://hub.jmonkeyengine.org Gi