我如何在index.php中包含一个文件

时间:2012-01-04 15:36:13

标签: php xml

我有两个文件:

  • 的index.php
  • condition.php

condition.php持有一些switch语句。我只写了一个案例,但是有20多个案例。我是否在index.php中包含另一个文件来显示输出。我的代码是:

 //index.php    
<?
    $xml = simplexml_load_file('http://www.google.com/ig/api?weather=dhaka');
    $information = $xml->xpath("/xml_api_reply/weather/forecast_information");
    $current = $xml->xpath("/xml_api_reply/weather/current_conditions");
    $forecast_list = $xml->xpath("/xml_api_reply/weather/forecast_conditions");

    ?>
    <html>
        <head>
            <title>Google Weather API</title>
        </head>
        <body>
            <h1><?= print $information[0]->city['data']; ?></h1>
            <h2>Today's weather</h2>
            <div class="weather">       

                <?php 

                include 'condition.php';
                ?>

                <span class="condition">
                <?= $current[0]->temp_f['data'] ?>&deg; F,
                <?= $current[0]->condition['data'] ?>
                </span>

            </div>

                </body>
    </html>

这里是condition.php

 switch ($cond) 
            {
                case "Mostly Cloudy":
                    $col="/test/images/weather/mostly_cloudy.png";
                    echo "<img src=\"$col\" alt=\"\"/>";
                    break;

                case "Thunderstorm":
                    $col="/test/images/weather/thunderstorm.png";
                    echo "<img src=\"$col\" alt=\"\"/>";
                    break;}

我发了2例,但有20多例。

4 个答案:

答案 0 :(得分:2)

您正在使用<?php include("condition.php"); ?>以正确的方式执行此操作,您需要做的就是定义$cond,以便切换实际执行某些操作。或者你可以从condition.php创建一个函数并以这种方式使用它。这可能是一种“更清洁”的工作方式。

示例:

<?php
$cond = "Thunderstorm";
include 'condition.php';
?>

答案 1 :(得分:2)

include函数包含来自包含脚本的代码,就好像它是在那里写的一样,只要你在$cond语句之前声明include变量,这应该有效细

答案 2 :(得分:1)

如果我理解正确,您需要一个可以多次重复使用的功能:

所以你的condition.php应该是:

function outputWeather($cond){
   switch ($cond) {
                case "Mostly Cloudy":
                    $col="/test/images/weather/mostly_cloudy.png";
                    echo "<img src=\"$col\" alt=\"\"/>";
                    break;

                case "Thunderstorm":
                    $col="/test/images/weather/thunderstorm.png";
                    echo "<img src=\"$col\" alt=\"\"/>";
                    break;
                  }
}

index.php中加入,只需在循环中调用函数:

<?php outputWeather($current[0]->condition['data']); ?>

答案 3 :(得分:-1)

您可以像使用include()一样在PHP中包含页面。

请确保您在$cond中使用的conditions.php变量在index.php 之前包含中定义,或在{{{}}中定义1}}本身。

conditions.php

无论如何,包含的行为就好像你所包含的代码实际上是在你包含它的地方写的,因此在<?php include('condition.php'); ?> 的同一位置。