0

simpleXML を使用して XML ページからコンテンツを取得するサイトを構築しました。

サイトをクライアント サーバーに切り替えたところ、XML シートからプルするページが機能しなくなりました。

テスト サーバーは PHP バージョン 5.2.9 でした

クライアント サーバーは PHP バージョン 5.2.5 です

allow_url_fopen両方のサーバーでオンになっています。

何か案は?

class award{
    var $xml;
    var $awards;

    function titles(){

        $this->fullArticle();
        $xml=simplexml_load_file("awards.xml");

        foreach($xml->award as $currentAward){
            $titles=$currentAward->title;
            echo '<li><a href="'; 
            base_url();
            echo 'about/awards.php?award=';
            echo $titles; 

            echo '">' . str_replace(array('<h1>','</h1>'), '', $currentAward->$titles->h1->asXML()) . '</a></li>';
            }

    }

    function fullArticle(){

        $awards=array();
        $xml=simplexml_load_file("awards.xml");

        foreach($xml->award as $currentAward){
            array_push($awards, $currentAward->title);
        }

        return($awards);

    }


    function articleBlock($awardy){


        $xml=simplexml_load_file("awards.xml");

        foreach($xml->award as $currentAward){
            if($currentAward->title = $awardy ){ 
                echo str_replace(array('<'.$awardy.'>','</'.$awardy.'>'), '', $currentAward->$awardy->asXML());
            } 

            }


    }
}
4

2 に答える 2

1

エラー処理とデバッグ コードを追加する

<?php
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_BAIL, 1);
assert_options(ASSERT_QUIET_EVAL, 1);
error_reporting(E_ALL);
ini_set('display_errors', 1);

class award {
    function titles() {
        $xml=simplexml_load_file("awards.xml");
        if (!$xml) {
            throw new Exception("cannot read awards.xml");
        }

        assert( isset($xml->award) );

        foreach($xml->award as $currentAward) {
            assert( isset($currentAward->title) );
            assert( isset($currentAward->$titles) );
            assert( isset($currentAward->$titles->h1) );

            $titles=(string)$currentAward->title;
            echo '<li><a href="';
            base_url();
            echo 'about/awards.php?award=';
            echo urlencode($titles);

            echo '">' . str_replace(array('<h1>','</h1>'), '', $currentAward->$titles->h1->asXML()) . '</a></li>';
        }
    }
于 2009-06-30T20:19:18.810 に答える
1

サーバーで IP アドレスの許可が有効になっているかどうかを確認してください。そうでない場合は、有効にします。

于 2010-08-02T12:31:53.687 に答える